Vettel crossed the line three second behind in second with Button third for his first podium finish since the third race of the year in China. Whether the result remains the same is open to debate however with McLaren having complained to the stewards about the way in which Vettel took second from Button with a lap to go.
Behind the top three, Kimi Raikkonen was fourth for Lotus after a lonely race for the Finn, while behind him, Sauber pair Kamui Kobayashi and Sergio Perez bounced back well from a disappointing qualifying performance to secure fifth and sixth. Perez in particular enjoyed a strong race having started down in 17th thanks to a five-place grid penalty.
Despite his strong showing early on, Schumacher could only manage seventh place as he failed to make a three-stop strategy work – despite lapping quicker than those around him on the final lap with fresher tyres.
Failing to show the kind of pace that allowed him to set the third quickest time in qualifying, before his penalty for a gearbox change was applied, Mark Webber could only manage eighth while Hulkenberg slipped down the order to ninth at the finish – taking the flag less than a second ahead of countryman Nico Rosberg who also used a three-stop strategy to come back from his post-qualifying penalty and score the final point.
Outside the points however, it was a tough race for a number of the fancied runners with Hamilton being the only person not to finish after pitting to retire in the closing laps. Massa had to settle for 13th place after his early stop for a new nose, while both Bruno Senna and Romain Grosjean were forced to pit at the end of the first lap for new tyres.
Senna would be down in 17th place with Grosjean 18th – both taking the finish behind the Caterham of Vitaly Petrov. Spanish GP winner Pastor Maldonado struggled for speed throughout the race and could only take the flag down in 15th.
As a result of his victory, Alonso will now take a lead of 34 points into the Hungarian Grand Prix next weekend in Budapest.