A carreira de Herbert na F-1 começou em 1989, quando trabalhou como piloto da Benetton. Logo na estreia de sua nova equipe, o britânico terminou em 4º lugar no GP do Brasil, em Jacarepaguá. Seu desempenho chamou a atenção da Tyrrell, que o chamou em lugar de Jean Alesi nas oportunidades em que o francês não corria.
Lotus e Ligier
Entre 1990 a 1994, Herbert competiu pela Lotus e Ligier, sem resultados muito expressivos. Em 1990, Herbert retorna novamente à categoria de forma definitiva para fazer as últimas duas provas pela equipe Lotus para substituir o norte-irlandês Martin Donnelly, que havia sofrido um acidente quase fatal no GP da Espanha, em Jerez de la Frontera. Lá, Herbert fica na equipe até 1994, depois faz uma corrida para a Ligier no lugar de Eric Bernard; o piloto francês vai para a Lotus no lugar do piloto inglês.
Em meio à temporada 1991, Herbert foi campeão das 24 Horas de Le Mans correndo pela Mazda junto do francês Bertrand Gachot e o alemão Volker Weidler.[1] Após sua chegada desmaiou, estando exausto e desidratado, e assim estava no hospital da pista enquanto os companheiros subiam ao pódio.[2]
Volta à Benetton
Herbert voltou à Benetton realizando as duas últimas provas em 1994, depois da falência da Lotus. Em 1995, faria a temporada completa; esta seria uma "volta às origens", pois foi lá que começou sua longa jornada na categoria-mor do automobilismo mundial. Lá, ele viveu seus melhores momentos, com duas vitórias em corridas que o piloto principal da Benneton Michael Schumacher colidiu com o rival Damon Hill (Inglaterra e Itália), mais um pódio atrás apenas de Schumacher (Espanha), e o 4º lugar na temporada.
Sauber, Stewart e Jaguar
De 1996 a 2000, Herbert atuou pelas equipes Sauber, Stewart e Jaguar, sendo que na Stewart ele conquistou sua derradeira vitória no Grande Prêmio da Europa de 1999. Em 2000, Johnny Herbert atuou na Jaguar, mas resultados insípidos o levaram à demissão no fim da temporada.
Arrows
Em 2001, Johnny Herbert foi o piloto de testes da Arrows.