John Cannon commence sa carrière de pilote professionnel au début des années 1960, se faisant remarquer dans les courses de sport-prototypes du Canadian Sport Car Championship.
A partir de 1966, il participe notamment au championnat Can-Am, où il obtient de belles performances, remportant notamment la course de Laguna Seca en 1968 au volant d'une McLaren M1B. Cette année-là, il participe également à quelques courses en USAC et se classe deuxième à Sainte-Jovite.
En 1969, il participe au SCCA Continental Championship de F5000 au volant d'un Eagle Mk5 et se classe cinquième avec quatre victoires à son actif. L'année suivante, il remporte le championnat au volant d'une McLaren M10B avec trois victoires.
Cette victoire lui ouvre les portes de la Formule 1 en 1971. Il est engagé par BRM pour le Grand Prix des Etats-Unis. Qualifié en 26e position, il termine la course à la 14e place.
En 1972, il participe au championnat britannique de F5000, puis retourne aux États-Unis où il continue à piloter, notamment en USAC et en Can-Am, jusqu'à la fin des années 1970.
Alicia