Lewis Hamilton is de 7de winnaar van evenzovele races in het seizoen 2012 geworden door de GP van Canada op naam te schrijven. De van een tweede plek gestarte Brit haalde in de eindfase van de race via een tweestop strategie Sebastian Vettel en Fernando Alonso in. Romain Grosjean en Sergio Perez volgden dit voorbeeld en gingen samen met de McLaren coureur naar het podium.
Als de lichten doven bij het begin van de race spurt het veld naar de eerste bocht. Wonder boven wonder komt het hele veld goed door de eerste bocht, en in de tweede heeft alleen Ricciardo een probleem en komt even in aanraking met Kovalainen in de Caterham. Er ontstaat een kopgroep van 4 personen welke bestaat uit Vettel, Hamilton, Alonso en Webber. Na een aantal ronden kan Webber het tempo vooraan niet meer volgen en raakt de aansluiting langzaam maar zeker kwijt.
Jenson Button kan, in tegenstelling tot zijn teamgenoot, geen snelheid uit zijn McLaren krijgen en komt al vroeg aan de pits voor nieuwe banden. Het duurt nog enkele ronden voordat de rest van het veld aan zijn stop toe is, en de Brit valt dan ook ver terug in het veld. Als de kop gaat stoppen komt er verandering in de volgorde. Alonso rijdt ineens aan kop, voor Hamilton en Vettel.
In ronde 23 zien we Narain Karthikeyan van de baan spinnen bij bocht 1, met iets dat op een geëxplodeerde remschijf lijkt. Even later staat ook teamgenoot De la Rosa binnen bij het team. Het lijkt erop dat men uit voorzorg hem van de baan gehaald heeft, grote wolken remstof komen van de remmen van de HRT. Een klein tiental ronden later krijgt Michael Schumacher te maken met pech. Zijn DRS blijft open staan, en hoewel het team nog probeert het te repareren is de Duitser de derde uitvaller.
In ronde 49 gaat Lewis Hamilton naar binnen voor zijn tweede stop, maar Alonso en Vettel gaan door. Zodra de McLaren echter weer op de baan is wordt duidelijk dat deze veel sneller is op de nieuwe set banden. Snel loopt hij weer in op de koplopers welke hij 10 ronden voor het einde weer bijgehaald heeft. Al snel gaat hij langs Vettel, die daarop alsnog kiest om ook maar een tweede stop te maken. Twee ronden later is Fernando Alonso het slachtoffer van de oprukkende Hamilton, welke de leiding dan ook weer overneemt. Alonso is zo langzaam dat hij ook nog eens door Grosjean en Perez wordt ingehaald. Vettel probeert het ook nog, maar komt een tweetal ronden te kort om het kunststukje van Hamilton te herhalen.
De uitslag:
| Nr. | Coureur | Team | Tijd |
| 1. | Hamilton | McLaren-Mercedes | 1h32:29.586 |
| 2. | Grosjean | Lotus-Renault | + 2.513 |
| 3. | Perez | Sauber-Ferrari | + 5.260 |
| 4. | Vettel | Red Bull-Renault | + 7.295 |
| 5. | Alonso | Ferrari | + 13.411 |
| 6. | Rosberg | Mercedes | + 13.842 |
| 7. | Webber | Red Bull-Renault | + 15.085 |
| 8. | Raikkonen | Lotus-Renault | + 15.567 |
| 9. | Kobayashi | Sauber-Ferrari | + 24.432 |
| 10. | Massa | Ferrari | + 25.272 |
| 11. | Di Resta | Force India-Mercedes | + 37.693 |
| 12. | Hulkenberg | Force India-Mercedes | + 46.236 |
| 13. | Maldonado | Williams-Renault | + 47.052 |
| 14. | Ricciardo | Toro Rosso-Ferrari | + 1:04.475 |
| 15. | Vergne | Toro Rosso-Ferrari | + 1 ronde |
| 16. | Button | McLaren-Mercedes | + 1 ronde |
| 17. | Senna | Williams-Renault | + 1 ronde |
| 18. | Kovalainen | Caterham-Renault | + 1 ronde |
| 19. | Petrov | Caterham-Renault | + 1 ronde |
| 20. | Pic | Marussia-Cosworth | + 2 ronden |
| Dnf | Glock | Marussia-Cosworth | 57 |
| Dnf | Schumacher | Mercedes | 34 |
| Dnf | De la Rosa | HRT-Cosworth | 25 |
| Dnf | Karthikeyan | HRT-Cosworth | 23 |