Puyol climbed above the defence to head the winner from a Xavi corner and send Spain to their first World Cup final.
The Spaniards dominated most of the match but struggled to finish off a German side that was lacking their usual pace.
In Image: Spain's Carles Puyol, second from right, celebrates after scoring a goal with teammates Gerard Pique, right, Carles Puyol, third from right, and David Villa, second from left
Text: Reuters
Images: AP