Johnny Goodchild was born in Sherborn Hill, County Durham. He worked as a miner and played for Ludworth Juniors before signing for Sunderland. He scored on his first-team debut, on 4 September 1957 in a 3–2 home defeat of Leicester City and scored 16 goals the following season. He then fell out of favour, and, despite scoring a hat-trick away at Leeds United in February 1961, his first game of the 1960–61 season, never appeared for the club again. Goodchild remembers “thinking to myself that if I couldn’t get into the team after scoring a hat-trick away from home, I’d be on the transfer list at the end of the season. That’s exactly what happened.”
He joined Brighton & Hove Albion then in the second division, and in his first season with the club, was their joint-top scorer with 10 goals in all competitions. Two years later he was top scorer on his own, with 15 goals in all competitions. In 1964–65, Goodchild was one of six goalscorers to reach double figures as Albion won the Fourth Division title.
He returned to the north of England in 1966, spending a season with York City and a brief spell with Darlington.
Johnny was also a keen cricketeer. He appeared for the Durham Second XI in 1959. He played cricket for many years in the Durham County League for Ushaw Moor CC.
Johnny played 163 games for the Seagulls between 1961 and 1966 scoring 44 goals.