Regen was herhaaldelijk een spelbreker, heel wat rijders wisselden tot vier keer van banden, maar Button hield het bij twee stops.
De eerste leider in de race was Fernando Alonso. De Ferrari-Spanjaard schoot bij de start voorbij Vettel en Webber, maar Alonso was weg voor de groene lichten en kreeg een "drive through"-sanctie.
Button kwam zo op kop, de Brit hield het hoofd koel en hield het ondanks tot op de draad versleten banden toch helemaal tot het einde uit.
Hamilton profiteerde van de safety car halfweg en begon toen aan een spectaculaire inhaalrace. Hij tikte Webber aan en raapte al zijn voorgangers een voor een op.
Met één en twee was McLaren de winnaar van het weekend, verliezers waren vooral de Red Bulls van Vettel en Webber. Vertrokken als eerste en tweede finishten de twee na een moeilijke race respectievelijk zesde en achtste.
Uitslag
| 1. | Jenson Button (GBr-McLaren) | in 1u44'42"163 |
| 2. | Lewis Hamilton (GBr-McLaren) | op 1"530 |
| 3. | Nico Rosberg (Dui-Mercedes) | 9"484 |
| 4. | Fernando Alonso (Spa-Ferrari) | 11"869 |
| 5. | Robert Kubica (Pol-Renault) | 22"213 |
| 6. | Sebastian Vettel (Dui-Red Bull) | 33"310 |
| 7. | Vitali Petrov (Rus-Renault) | 47"600 |
| 8. | Mark Webber (Aus-Red Bull) | 52"172 |
| 9. | Felipe Massa (Bra-Ferrari) | 57"796 |
| 10. | Michael Schumacher (Dui-Mercedes) | 1'01"749 |
| 11. | Adrian Sutil (Dui-Force India) | 1'02"874 |
| 12. | Rubens Barrichello (Bra-Williams) | 1'03"665 |
| 13. | Jaime Alguersuara (Spa-Toro Rosso) | 1'11"416 |
| 14. | Heikki Kovalainen (Fin-Lotus) | 1 ronde |
| 15. | Nico Hülkenberg (Dui-Williams) | " |
| 16. | Bruno Senna (Bra-HRT) | 2 rondes |
| 17. | Karun Chandhok (Ind-HRT) | 4 rondes |


