Né à Westminster dans le grand Londres de parents écossais, c'est pourtant l'Angleterre qu'il choisit de représenter, contrairement à son frère, Archie, né en Irlande, qui joue avec l'Irlande. Ils sont les premiers frères de l'histoire du football à jouer pour deux pays différents. Étant enfants, leurs parents déménagent à Kilmarnock en Écosse, où John fait ses débuts dans le football chez les Kilmarnock Burns FC puis chez les Kilmarnock Athletic FC. Il repart ensuite en Angleterre et joue à Great Lever FC à Bolton.
Preston North End
Goodall signe pour Preston North End FC au début de la saison 1885-86, et marque 50 buts en 56 matchs pour le club. Il parvient jusqu'en finale de la FA Cup 1888, perdue contre West Bromwich Albion FC. Mais en 1888-89, année de l'inauguration de la Football League, Preston North End FC remportent la FA Cup 1889 sans encaisser un seul but de la campagne, obtenant le surnom des « Invincibles ». Goodall finit meilleur buteur du championnat avec 20 buts inscrits en 21 matchs, ce qui le fait jouer avec l'équipe d'Angleterre contre le Pays de Galles. En tout, Goodall joue six fois contre les Gallois, sept fois contre l'Écosse, et une fois contre les Irlandais, inscrivant 12 buts. Il joue son dernier match international en 1898[1].
Derby County
Goodall quitte Preston North End FC pour Derby County FC en 1889. Son frère Archie le rejoint à Derby.
Il joue au club jusqu'en 1898. Il se révèle être le mentor de Stephen Bloomer, l'un des meilleurs buteurs de cette génération.
Goodall atteint la finale de la FA Cup 1899 mais ne participe pas au match. Il est ensuite acheté par le New Brighton Tower FC, club qui achète à l'époque de nombreux ex-internationaux. Mais le club, en proie à des difficultés financières, finit 4e de la Football League. Goodall, rejoint donc ensuite le Glossop North End FC, dans le Derbyshire, en seconde division.