Pastor Maldonado has won his first Formula One Grand Prix in Barcelona. He started from pole to finish the Spanish Grand Prix ahead of Fernando Alonso and Kimi Raikkonen.
Maldonado and Alonso went wheel-to-wheel into the first corner, but the two-time world champion took the lead initially in front of his home crowd.
The battle for the lead continued throughout the race, until the final few laps when Alonso's tyres forced him to abandon the fight. Maldonado finished 3.1 seconds ahead of Alonso, giving Williams it's first win since Juan Pablo Montoya in Brazil 2004.
Third-place Kimi Raikkonen's Lotus teammate Romain Grosjean missed out on a second consecutive podium, finishing fourth. Kamui Kobayashi took fifth for Sauber, ahead of Sebastian Vettel in sixth.
Nico Rosberg narrowly held off Lewis Hamilton to finish seventh. Hamilton - who was fastest in qualifying but started the race last due to a penalty - had a strong start and was up to 19th by the first corner. By lap 39 he was in ninth. He continued to battle his way up the field but struggled on worn tyres to finish the race in eighth place.
Jenson Button and Nico Hulkenberg complete the top 10.
The first casualties of the day were Michael Schumacher and Bruno Senna, who collided on lap 14 of the race. Schumacher - who was on a fresh set of tyres having pitted only two laps earlier - went into the back of Senna's Williams.
The German ended up in the gravel, while Senna hobbled around with a rear puncture before being forced to park the car on track. The stewards have now announced that Schumacher will be given a five-place grid penalty for the Monaco Grand Prix.
Sergio Perez had qualified well to start fifth, but clashed with Romain Grosjean on the first lap and picked up a puncture. He pitted and rejoined in 24th place. He retired from the race on lap 40 after a fumbled pit stop.
Vettel and Massa received drive-through penalties for failing to slow for yellow flags. The flags were out while marshals recovered Karthikeyan's HRT, which had stopped at the side of the track.
Charles Pic received the same penalty for ignoring blue flags shortly afterwards. He pulled into the pits and retired from the race.
This result means that Sebastian Vettel and Fernando Alonso are tied for the lie in the championship with 61 points, ahead of Lewis Hamilton with 53 and Kimi Raikkonen with 49.
Red Bull leads the constructors' championship with 109 points, ahead of McLaren and Lotus with 98 and 84 respectively.