Fernando Alonso led from pole position to chequered flag to win the German Grand Prix for Ferrari on Sunday and extend his lead at the top of the Formula One championship to 34 points.
Germany's world champion Sebastian Vettel finished second for Red Bull, overtaking McLaren's Jenson
Red Bull Racing's German driver Sebastian Vettel (L), Ferrari's Spanish driver Fernando Alonso (C) and McLaren Mercedes' British driver Jenson Button (R) celebrate with champagne on the podium at the Hockenheimring circuit on July 22, 2012 in Hockenheim during the German Formula OneGrand Prix. AFP/ Dimitar Dilkoff
Button on the penultimate lap in a controversial move that stewards were investigating.
Vettel, who has yet to win his home grand prix and indeed any race in July, went wide and off the track to get past the Briton. Alonso's win was Ferrari's 219th and the Spaniard's third of the season.
The Ferrari driver now has 154 points to 120 for Red Bull's Australian Mark Webber, who finished eighth. Vettel, if the stewards uphold his second place, has 118 after 10 of the season's 20 races.
Button's podium finish was a boost for him and McLaren after they struggled in recent outings but it was soured for the team by Lewis Hamilton suffering a puncture early in his 100th race and having to retire.
Vettel was demoted to fifth at the German Grand Prix on Sunday after receiving a 20sec penalty for passing Jenson Button.
Vettel was handed the penalty for his manoeuvre past McLaren's Button on the penultimate lap and dropped back having initially finished second 3.7 sec behind Alonso.
Vettel received a drive-through penalty after he passed Button by running off track at a hairpin exit, which race stewards found to be illegal.