A 34. körben Massa és Hamilton csatájának következményeként a brazil a szalagkorlátnak csapódott, ezért beküldték a biztonsági autót. Ugyanebben a körben Vettel átvette a vezetést, mivel Button kereket cserélt, viszont ő még nem látogatott ki a bokszba. Hamiltont áthajtásos büntetéssel sújtották.
A győzelemért hatalmas csata zajlott. Vettel még mindig nem cserélt kereket, Button és Alonso keményen támadták a régi gumikon szenvedő németet. A hetvenedik körben, Petrov balesete után a pályára küldték a biztonsági autót, így Vettel egy kis időre megmenekült. A futamot ráadásul piros zászlóval is megszakították, az orosz pilóta orvosi ellátást igényelt. Mivel a szabályok szerint a futam félbeszakításakor lehet kereket cserélni, Vettel is új szettet kapott. A német magabiztosan nyert a hercegségben. Az első tíz helyezett: Vettel, Alonso, Button, Webber, Kobajasi, Hamilton, Sutil, Heidfeld, Barrichello és Buemi.
A huszonötödik körben kigyulladt Nick Heidfeld autója, és míg ő a bokszkijáratnál parkolt, Perez megelőzte Kovalainent, ami miatt később büntetést is kapott. A második kerékcserék után újra esni kezdett, aminek következtében Hamilton megpördült. Hibáját azonnal kihasználta a csapattársa, és izgalmas párharc alakult ki közöttük.
Lewis bokszutca-áthajtásos büntetést kapott, amiért szabálytalanul fordította vissza autóját a megpördülést követően, így Button nyugodtan autózhatott az élen. Az utolsó körök izgalmát a Kobajasi mögött vonatozó pilóták harca adta. A futamot az éppen 200. versenyét ünneplő Jenson Button nyerte, aki 2006-ban szintén itt aratta élete első győzelmét. Második helyen Vettel futott be, majd őt követte a pontszerző helyeken Alonso, Hamilton, Webber, Massa, Di Resta, Buemi, Rosberg és Alguersuari.
Webber korán cserélte le az abroncsait, így a második kiállásoknál Hamilton az Red Bull-os elé került. Alonso vezetett, de a bokszutcából kihajtva elfékezte magát, a brit világbajnok megelőzte őt és az élre ugrott. A sorrend a futam végéig nem is változott, Vettel viszont hatalmasat csatázott a negyedik helyért Felipe Massával, akit a bokszban előztek meg. A további öt pontszerző: Sutil, Rosberg, Schumacher, Kobajasi és Petrov.
A hibát követően Vettel Button előtt hajtott ki a bokszból, s közben Massa és Hamilton is érkezett friss szett gumiért. Alonso és Schumacher között nagy csata zajlott, amit a spanyolok világbajnoka nyert meg. A McLaren jól taktikázott a gumikkal, aminek köszönhetően Hamilton átvette a vezetést és megnyerte a futamot. Mögötte a sorrend: Vettel, Webber, Button, Rosberg, Massa, Alonso, Schumacher, Petrov és Kobajasi. És hogy összesen mennyi előzés volt? Kár is számolgatni…
Button gyorsan hajtott a bokszutcában, amiért áthajtásos büntetést kapott, így a mezőny végére esett vissza. A safety car elhagyta a pályát és újra elkezdődött a verseny. Az eső is elállt, így a köztes gumival versenyző Button előretört és pár kör múlva már a 11. pozíciót foglalta el. Alonso is kiment intermediate abroncsokért, azonban az eső újra rákezdett.
A 21. körben újra megérkezett a biztonsági autó, a szakadó esőtől semmit nem lehetett látni. Négy kör múlva megszakították a versenyt. A piros zászló alatt Vettel, Kobajasi, Massa, Heidfeld, Petrov, di Resta, Webber és Alonso volt az első nyolc helyen. A versenyzők kiszálltak az autóikból és a bokszban járkálva várták a verseny újraindítását.
Jó két óra várakozás után újra elkezdődött a futam. Hét körön keresztül csak a biztonsági autó mögött köröztek a pilóták, de a 35. körben végre élesben is elindult a futam. Alonso és Button összeakadtak, a spanyol feladni kényszerült a versenyt. Az ötvenedik kör után a pilóták elkezdték felrakni a száraz pályás abroncsokat.
Az 57. körben újabb baleset történt, Heidfeld és Kobajasi összeütközött, a biztonsági autó már hazajárt a pályára. A pálya takarítása közben az egyik munkás elesett, majdnem végzetes baleset történt, ugyanis ketten majdnem elütötték, szerencsére azonban még idejében felállt a pályamunkás. A safety car kiment a pályáról, a sorrend Vettel, Schumacher, Webber, Button és Kobajasi volt.
A rajt után a majdnem utolsó helyre visszaeső Jenson Button már a vezető Sebastian Vettelt támadta, és az utolsó körre már a német nyakán volt. Úgy tűnt, hogy Vettel megmenekül, azonban a legutolsó kanyarban kicsúszott, így a brit világbajnok hajthatott át először a célvonalon. Michael Schumacher szezonja legjobb eredményét érte el, a negyedik helyen ért célba. A Kanadai Nagydíj az elmúlt évtizedek egyik legfordulatosabb futama volt, özönvízszerű esőzéssel, kétórás megszakítással, rengeteg előzéssel, roncsderbivel és a temérdek biztonsági autós etappal. Az első tíz sorrendje Button, Vettel, Webber, Schumacher, Petrov, Massa, Kobajasi, Alguersuari, Barrichello és Buemi volt.
