Puyol powers Spain into final
Puyol headed home Xavi's 73rd-minute corner after a Spanish onslaught to break a frustrating tactical deadlock and set up a final with Netherlands on Sunday at Soccer City in Johannesburg when new world champions will be crowned.
GEAR: Get a Spain shirt here
"Our players from defence to attack were extraordinary and we played a great game," Spain coach Vicente Del Bosque said after his side had created the majority of the chances.
"We have another game to play, let's see if we are capable of being comfortable on the ball, in good physical shape and see if we can win. Holland represent the values of Dutch football very well and they'll be very tough rivals," he said.
The result was a repeat of Spain's 1-0 win over the Germans in the 2008 European Championship final and was thoroughly merited, with the Spaniards relentless in pursuit of a goal while Germany struggled to rattle the opposing defence.
Spain started brightly in both halves and always looked threatening against a nervous German defence, with the pacy Pedro's inclusion instead of misfiring striker Fernando Torres paying off from the outset thanks to his dangerous forays.
Pedro played a pivotal role in most of Spain's attacks, linking up well with Andres Iniesta, Sergio Ramos and Xabi Alonso against a Germany side under pressure and showing only brief glimmers of their counter-attacking flair.
Germany tested Spain's patience with steadfast, albeit at times desperate, defending to shut out the final ball and keep menacing marksman David Villa at bay.
The Spaniards came agonisingly close in the 58th minute with a Pedro shot that forced a spectacular save from Manuel Neuer before Iniesta cut the ball across the face of goal just a metre ahead of the sliding Villa.
Germany remained on the back foot and 17 minutes from time were punished when Puyol charged into the area to head home the winner and leave Spain to soak up some late pressure before deservedly reaching the final.
Three-times champions Germany were a shadow of the side that trounced England and Argentina on their way to the last four but still looked dangerous in their few ventures towards goal, with Piotr Trochowski squandering a chance to score after 67 minutes.
Germany coach Joachim Low said they lacked their usual edge and tipped Spain to beat Netherlands in the final.
"Of course, we are disappointed as you would be when you lose a semi-final," Low told a news conference.
"I have to congratulate the Spanish team. Over the past two years they have been the most skilled team of all and they showed that. We weren't good enough tonight."
Villa, tournament joint top scorer with five of Spain's seven goals, praised his team and said reaching the final had been their only goal since winning the European Championship.
"Never in the history of our country has this happened. We have a group who deserve it all," he said.
"We're very happy to be in the final, that was our objective, but now we want to be champions."