Sebastian Vettels vierde zege van het jaar is binnen. De regerend wereldkampioen was samen met Lewis Hamilton een klasse apart in Barcelona. Vettel versloeg de McLaren-coureur in een rechtstreeks duel.
De twee rivalen begonnen echter niet goed aan de Grand Prix van Spanje. Vettel haalde dan wel Mark Webber in, die zijn poleposition verkwanselde, maar niemand hield rekening met de superstart van Fernando Alonso. De Spanjaard ging na de eerste bocht van de wedstrijd aan de leiding. In de loop van de race werd het echter pijnlijk duidelijk dat McLaren, en vooral Red Bull Racing, de lakens dit jaar uitdelen: Alonso finishte op een ronde achterstand.
De Ferrari-coureur reed voor eigen publiek in de openingsfase aan de leiding. Vettel, Webber en Hamilton konden wel volgen, maar niet inhalen. De verstelbare achtervleugel maakte op het circuit in Montmélo niet het verschil zoals dat eerder dit jaar gebeurde. Banden echter des te meer: de meeste coureurs stopten drie keer voor nieuw rubber en dat zorgde voor veel veranderingen in de rangorde op het circuit. Zachte banden waren uiteraard een stuk rapper dan de harde band en daarom was inhalen in elke bocht mogelijk.
Mark Webber kon zijn kunstje van vorig jaar niet herhalen. De Australiër startte slecht en kon het tempo in de loop van de race steeds minder goed volgen. De Red Bull-coureur liep het podium mis dankzij een uitgekiende tactiek van Jenson Button. In tegenstelling tot Vettel, Hamilton en Webber had de McLaren-coureur aan drie stops genoeg.
McLaren was na afloop best tevreden met de tweede en derde plaats. Red Bull Racing was in de kwalificatie dominant, maar kon in de race niet dezelfde snelheid tonen. Vettel was opnieuw de beste, en McLaren was vandaag een goede tweede. De rest deed eigenlijk voor spek en bonen mee.
Uitslag:
| Positie | Coureur | Team | Tijd/verschil |
| 1 | Sebastian Vettel | Red Bull | 1:39:03.301 |
| 2 | Lewis Hamilton | McLaren | + 0.630 |
| 3 | Jenson Button | McLaren | + 35.697 |
| 4 | Mark Webber | Red Bull | + 47.966 |
| 5 | Fernando Alonso | Ferrari | + 1 Lap |
| 6 | Michael Schumacher | Mercedes GP | + 1 Lap |
| 7 | Nico Rosberg | Mercedes GP | + 1 Lap |
| 8 | Nick Heidfeld | Renault | + 1 Lap |
| 9 | Sergio Perez | Sauber | + 1 Lap |
| 10 | Kamui Kobayashi | Sauber | + 1 Lap |
| 11 | Vitaly Petrov | Renault | + 1 Lap |
| 12 | Paul Di Resta | Force India | + 1 Lap |
| 13 | Adrian Sutil | Force India | + 1 Lap |
| 14 | Sebastien Buemi | Toro Rosso | + 1 Lap |
| 15 | Pastor Maldonado | Williams | + 1 Lap |
| 16 | Jaime Alguersuari | Toro Rosso | + 2 Laps |
| 17 | Rubens Barrichello | Williams | + 2 Laps |
| 18 | Jarno Trulli | Lotus | + 2 Laps |
| 19 | Timo Glock | Virgin | + 3 Laps |
| 20 | Jerome d’Ambrosio | Virgin | + 4 Laps |
| 21 | Narain Karthikeyan | HRT | + 5 Laps |
| Felipe Massa | Ferrari | + 8 Laps | |
| Heikki Kovalainen | Lotus | + 18 Laps | |
| Vitantonio Liuzzi | HRT | + 38 Laps |



