As the game started, Spain started off cautiously holding possession and trying to settle in the opening few minutes of the game.
A small drama interrupted in the 4th minute of play as a spectator made his presence in the field and the game had to be held for a while.
Spain came close in the 6th minute as Pedro played an inch perfect ball for Villa who hit his shot but was denied by Neuer, the goalkeeper.
The Germans were not able to get much possession as the la furia roja slowly came forward looking for the opening goal. The Spanish players were giving nothing away in the opening 10 minutes.
Iniesta nearly broke in the German defense after a patient Spanish build up but was eventually blocked by the German defenders.
In the 14th minute Spain came close once again as Iniesta drove a hard ball from the right in the German penalty box and managed to find Puyol who headed the ball but his header was over the bar.
La furia roja were clearly dominating play with 70 percent possession with two good chances.
However, few minutes later Germany got a breakthrough as they won a corner. The corner was driven nicely but Casillas just managed to tip the ball over the German strikers who were looking to meet the header.
Ramos gave himself the opportunity in the 19th minute as he hit a shot with his right foot but his effort was wide off the mark.
Klose had a chance around the 22nd minute mark as he was fed with a decent ball in the Spanish penalty box, but eventually the ball was cleared by Puyol.
The Spanish were continuing to hold on with good amount of possession and giving no chance for the Germans to breakthrough. Till the half an hour mark the Germans had not even a single shot on goal.
In the 32nd minute Germans finally got their first real effort on goal as Piottr Trochowski hit a left footed drive from just outside the penalty box but his shot was brilliantly denied by Casillas, full length dive towards his left, managing to guide the ball outside.
The Germans gradually were starting to look more positive and were coming forward more often but were not really able to find space in the Spanish defense.
Pedro towards the end of first-half with his quick-feet looked dangerous in the German penalty box, and won the corner for the Spanish side.
Right at the end of the opening 45 minutes, Ozil made a promising run towards the penalty box, but he was denied by Ramos, as Ozil fell in the box appealing for penalty but was denied by the referee.
So the teams went 0-0 as the first half whistle was blown.
Spain started positively yet again as they Pedro made a terrific run around the 49th minute in the right flank and beat three defenders and cut the ball for Xavi Alonso but the latter failed to hit the target.
Moments later Alonso again came up with a thumping left-foot drive which was little closer but not enough to find the target.
Man in form Villa came close in the 55th minute, but his effort was just wide off the mark.
Pedro was really impressive, called in as a replacement for out of form Torres. He came up with a stunning left-footed drive but his shot was brilliantly denied by the German goalkeeper.
Iniesta on rebound made a piercing run in the German penalty box and managed to cut a dangerous ball, but Villa outstretched, could not reach for the ball.
Germany came real close as Podolski put a good ball finding Kroos in the Spanish penalty box. Kroos hit a first time shot but his ball was brilliantly denied by Casillas.
Carlos Puyol got the inspiration goal for Spain as he headed the ball past the Neuer after a ball was delivered from a corner.
Torres was brought in the 81st minute for Villa.
Pedro got a golden opportunity in the 83rd minute, but he was rather ambitious and tried to go for a goal on his own instead of passing it to Torres who was free in the left, and made a blunder in the end as the defender blocked his run.
The Germans were desperately looking for the equalizer and going forward putting those testing balls every now and then but Puyol and the Spanish defense was up to task not letting any chance for the Germans.
Spain managed to hold onto their lead, as Puyol and the Spain defense line were brilliant not allowing any chance for the Germans.
Spain will now face Netherlands in the finals at Soccer City on Sunday.