A rajtnál az élről induló Mark Webber olyannyira maga mögött akarta tartani csapattársát, Sebastian Vettelt, hogy Fernando Alonso is befurakodott mellé, majd a kanyar után már első volt a spanyol – fel is akart robbanni a lelátó, annyira örültek a hazai drukkerek. Webbert aztán a címvédő is megelőzte.
Michael Schumacher szintén jól kapta el a rajtot, míg Jenson Button épp ellentétes utat járt be, őt boldog-boldogtalan megelőzte.
Az első bokszkiállásoknál úgy tűnt, Vettelnek rosszul jön majd ki a lépés, ám vissza tudta kaparintani a második helyet. Mindeközben Lewis Hamilton is beelőzte Webbert, majd Button és Schumacher csatája után a brit visszatért az ötödik helyre.
Hamilton kisvártatva kiállt az élről a bokszba és csak Vettel mögé tudott visszajönni, a német pedig nem sokkal korábban volt kerékcserén. A következő körökben Mark Webber próbálta megelőzni Fernando Alonsót (ők a bokszban is csatáztak egyet, a spanyol örülhetett a végén), az ausztrálnak azonban nem jött össze, majd 36. körben Button autózta körbe mindkettejüket és jött fel a harmadik helyre – az igazsághoz hozzátartozik, hogy hármójuk közül egyedül a McLarenen volt lágy gumi.
A Ferrari aztán tönkrevágta Fernando Alonso versenyét, mindössze 10 kör után ismét kemény gumikeverékkel küldték ki a pályára, majd közölték vele: ezzel kell végigmenni ma.
A folytatásban a Red Bull elhúzta a mézesmadzagot a McLaren előtt, a 46. körben közölték Vettellel, hogy nem használhatja a KERS rendszerét. Ezt követően a német és Hamilton is kerékcserén volt kint (keményet kaptak), hirtelen ismét bevethette a technikát a címvédő. Mindeközben az időmér egyik hőse, a finne Heikki Kovalainen törte össze a Lotust, így számára idő előtt véget ért a Spanyol Nagydíj.
A hajrában aztán jött a hidegzuhany a Ferrarinak, előbb Massa esett ki, majd Fernando Alonsót körözték le. Az utolsó jó tíz kör egyébként arról szólt, hogy Hamilton le tudja-e gyűrni Vettelt, azonban a brit csak megközelíteni tudta riválisát, megelőzni nem. A német tanárian őrizte első helyét, és végül a futamot is megnyerte Lewis hamilton előtt.
A harmadik helyre a pocsékul rajtoló, ám utána nagyot taktikázó Jenson Button ért oda. Mark Webber lett a negyedi, fernando Alonso az ötödik. A spanyolt a két Mercedes követte Michael Schumacher Nico Rosberg sorrendben, a nyolcadik pedig az utolsó helyről rajtoló és nagyot versenyző Nick Heidfeld lett a Renault-val. Sebastian Perez és Kamui Kobayashi tudtak még pontot szerezni.
2. Hamilton McLaren-Mercedes + 0.630
3. Button McLaren-Mercedes + 35.697
4. Webber Red Bull-Renault + 47.966
5. Alonso Ferrari + 1 kör
6. Schumacher Mercedes + 1 kör
7. Rosberg Mercedes + 1 kör
8. Heidfeld Renault + 1 kör
9. Perez Sauber-Ferrari + 1 kör
10. Kobayashi Sauber-Ferrari + 1 kör
11. Petrov Renault + 1 kör
12. Di Resta Force India-Mercedes + 1 kör
13. Sutil Force India-Mercedes + 1 kör
14. Buemi Toro Rosso-Ferrari + 1 kör
15. Maldonado Williams-Cosworth + 1 kör
16. Alguersuari Toro Rosso-Ferrari + 2 kör
17. Barrichello Williams-Cosworth + 2 kör
18. Trulli Lotus-Renault + 2 kör
19. Glock Virgin-Cosworth + 3 kör
20. D’Ambrosio Virgin-Cosworth + 3 kör
21. Karthikeyan HRT-Cosworth + 4 kör
Kovalainen Lotus-Renault 49. körben
Liuzzi HRT-Cosworth 29. körben