1987-ben megnyerte a brit Formula–3-as bajnokságot. 1988-ban majdnem megnyerte a Formula 3000-es bajnokságot, amikor Brands Hatch-ben súlyos lábsérülést szenvedett. A baleset éppen aznap történt, amikor Formula–1-es szerződést írt alá a Benettonnal. Gyorsan felgyógyult, és a Formula–1-es bemutatkozásán, a brazil nagydíjon nagy meglepetésre negyedik lett, Alain Prost mögött. A nehezebb pályákon azonban sérült sarkával nem tudott megfelelően fékezni, így ejtették. Peter Collins 1990-ben leszerződtette a Lotus-hoz. Johnny egészen 1994-ig hű maradt csapatához. Év közben egy versenyre átkerült a Ligierhez, majd az utolsó két futamra visszaigazolt a Benettonhoz. 1995-re állandó helyet kapott, de a csapat inkább Michael Schumacher jó szereplésére összpontosított. Silverstone-ban és Monzában így is nyerni tudott, összetettben pedig negyedik lett. 1996-ban a Sauber színeiben versenyzett. Az évad második felében már háttérbe szorította csapattársát Heinz-Harald Frentzent, így 1997-ben már ő lett a csapat első számú embere. A tesztelés hiánya miatt a Sauber lassult, de a Hungaroringen harmadik lett. 1998-ban Jean Alesi csatlakozott a csapathoz. 1999-ben átigazolt a Stewarthoz, ahol a Nürburgringen rendezett európai nagydíjon megszerezte a csapat első (és egyetlen), valamint saját maga utolsó győzelmét. 2000-ben a Jaguar versenyzőjeként fejezte be Formula–1-es pályafutását.