The game began in frantic circumstances with both teams enjoying a flurry of chances early on. Lukas Podolski almost found Mario Gomez with a clear sight of goal on the edge of the area, but Mamadou Sakho managed to snuff out the chance before Bacary Sagna led a French counter-attack, only for Moussa Sissoko to misjudge the finish.
The pace of the game was not about to let up though, and it was a miracle both teams got through the opening stages without conceding. A panicky clearance from Rene Adler left the keeper in no-mans land, but Mathieu Valbuena couldn't find the net. Germany responded by pouring forward in numbers, and Thomas Muller set up Mesut Ozil for a great chance, but Hugo Lloris was equal to it, the Tottenham keeper making the save with his feet.
After a lively start, the game settled down somewhat, with both sides looking evenly-matched and showing some great approach play. Karim Benzema and Franck Ribery in particular looked to have a fine understanding, and almost found a way through before Germany sprung a dangerous counter-attack through Mesut Ozil which only a last-gasp tackle from Sagna kept out.
Yet with Germany looking increasingly dominant and the first half coming to a close, France managed to grab the lead. Khedira gave France a free-kick with a poor tackle on Blaise Matuidi, and Benzema crashed the set-piece off the crossbar, only for Valbuena to follow up with an easy headed finish. The half-time whistle blew shortly afterwards to give France a half-time lead.
France took the opportunity to make two like-for-like changes, Etienne Capoue and Adil Rami replacing Blaise Matuidi and Laurent Koscielny respectively. In contrast, Germany made no substitutions at half-time, but came out with renewed intent. It was not long before they forced Capoue, who had been on the pitch five minutes, into a terrible mistake, gifting possession to Ilkay Gundogan, who made a strong case for his inclusion in the team by playing a fine ball for Thomas Muller to score an equaliser.
The goal gave Germany a huge boost and France looked on the ropes - Thomas Muller continued to look dangerous, and should have had a second from Benedikt Howedes' fine ball, but the excellent Lloris was on hand to deny him. With Muller looking dangerous, Joachim Low made the decision to move him into the striker's position, replacing Mario Gomez with Toni Kroos, but the result was to take the sting out of Germany's attack.
France then had a couple of chances to retake the lead, but Valbuena and Ribery both fired good chances wide before Patrice Evra sent in a lethal ball across the six-yard box which Benzema was unable to make contact with. They were to be some of the last clear chances France would have in the game, however, as their opponents regrouped for one more push.
Ribery looked the most dangerous of France's players, and skipped inside the German defence again and again, but the introduction of Andre Schurrle for Lukas Podolski restored Germany's drive. An absolutely superb pass from Mesut Ozil then found the onrushing Sami Khedira in the area, who finished smartly past Lloris to sink Les Bleus and put Germany in the lead.
That appeared to take France's breath away, and the introduction of Olivier Giroud was not enough to restore their lead. Yohan Cabaye had an excellent chance to equalise in the very last minute, but a fine block from the otherwise-quiet Per Mertesacker concluded a dramatic game and sealed Germany's win.