Joachim Löw brought on Lars Stindl late in the match and he repaid the coach's faith, scoring with just seconds left to earn Germany a 2-2 draw at home to France. This means Germany remain undefeated in 2017.
Germany 2-2 France
(Werner 56', Stindl 90'+3 — Lacazette 33', 71')
Just when it looked as if France were about to hand Germany their first defeat of 2017, late substitute Lars Stindl finished off a move that began with a Mesut Özil pass and went through Mario Götze, to give the home side a 2-2 draw in Cologne.
The draw means Germany will end the year undefeated, having last lost in the semifinals of Euro 2016 — when their opponents also happened to be Les Bleus.
The visitors underlined their status as one of the favorites heading to Russia for next summer's World Cup, often using their speed and precise passing to cause the German defenders trouble.
After Alexandre Lacazette had put the French up 1-0 on the 33rd minute, a few of the Cologne fans voiced their displeasure with the home team near the end of the half. The two sides went into the halftime break with Germany down by a goal.
The German fans were forced to wait almost until the hour mark for their first opportunity to cheer. Timo Werner ran onto a beautiful through ball from Özil, continued into the box and calmly stroked the ball between the French goalkeeper's legs for the equalizer.
The French, though, continued to attack, and in the 71st minute Lacazette gave Les Bleus the lead for a second time in the game.
Perfect play to equalize
That's the way it looked set to end, until the Germans pulled off a perfect play more than two minutes into three minutes of stoppage time. Özil played the ball towards the edge of the French area, where Götze needed just one touch to push it into the path of the on-running Stindl. He also needed just one touch as he stroked the ball along the ground and just inside the post on the short side to send the Cologne fans home happy.
Below you can relive the match as it happened:
90+4-- The referee blows the final whistle! It ends in a 2-2 draw.
90'+3-- Goal for Germany! Özil plays the ball into the area for Götze who passes to Stindl - who finishes from close range to draw the home team level.
90'-- A 'fan' runs onto the pitch, forcing a short delay. Even Joachim Löw has to laugh as the fan runs around for a few seconds before being caught by the stewards.
89'-- Mbappe puts Martial through, but the French attacker should have made much more of that! Trapp calmly smothers the easy shot.
87'-- Just moments after replacing Timo Werner, Sandro Wagner is given the yellow card for an overly enthusiastic challenge on Pavard.
81'-- Didier Deschamps makes a third substitution, calling off Digne in favor of Kurzawa. Digne really drags his feet in leaving the pitch. German coach Löw brings on an extra attacker in the form of Lars Stindl, taking off defender Emre Can.
75'-- Griezmann comes on for France, replacing Lacazette. For Germany, Khedira is replaced by Sebastian Rudy.
71'-- Goal for France! Just seconds after Toni Kroos came centimeters from putting Germany up, Lacazette gets his second for Les Bleus.
70'-- Toni Kroos with a beautiful free kick from 25 meters out. Mandanda is just able to claw it out of the top corner to his right.
65'-- Germany's Mario Gotze comes on for Gündogan.
64'-- Changes for France: Matuidi and Jallet come off for N'Zonzi and Pavard.
56'-- Germany draw level! Özil with a beautiful through ball to send Werner free into the area. He cooly strokes the ball through Mandanda's legs for the equalizer.
55'-- An effort from Mbappe goes harmlessly over Trapp's bar.
52'-- Free kick for Germany from well outside the French area. A first attempt is blown down. The retake comes to nothing, but Germany keep up the pressure. Antonio Rüdiger puts the ball wide from close range after a flat cross from Draxler.
49'-- A nice through ball almost sees Werner in alone on the French goalkeeper, but Mandanda is off his line and outside the box to clear the danger.
46'-- France kick off to get us underway in the second half. Rüdiger has come on for Hummels.
45'+1-- Referee Cuneyt Cakir blows the whistle for the halftime break. France are full value for their 1-0 lead.
45'-- Süle's long-range effort is way off target.
43'-- A few whistles of derision are heard from the Cologne crowd.
41'-- Another German attack comes to nothing after Werner decides to pass instead of shooting.
40'-- Özil starts a break for Germany, but slows things down. Instead of passing to Werner, plays it wide to Draxler. His long-range effort is harmless.
33'-- Goal for France! Digne recieves a long diagonal ball in the box, plays it in to Martial, who avoids a lunge by Süle and passes it to Lacazette for the tap in.
32'-- Mbappe gets away from the German defenders in the box and gets off a decent shot. Kevin Trapp is equal to the task. Nothing comes of the ensuing corner kick.
28'-- A selfish Martial fails to play the ball early enough to Mbappe, who just misses the target, after Süle was able to disrupt Martial's progress.
23'-- Gündogan plays a nice little ball into the area for Özil, but it seems to have surprised the Arsenal man.
19'-- Lacazette with a nice strike for France. This forces a tidy save from Trapp.
17'-- Free kick for Germany from about 35 meters out. Kroos drops it into the box, but Hummels can't get to it. The play is ruled offside anyway.
13'-- France have the German defense under pressure. A short corner results in a shot by Digne, but no trouble for Kevin Trapp.
7'-- Jallet with a nice cross for Matuidi, but he just misses the target for France.
6'-- France starting to look dangerous for the first time, Süle clears the danger for Germany.
3'-- A nice attack by Germany ends with Mesut Özil's shot being saved. It wouldn't have counted anyway as the play was ruled offside.
2'-- A German goes down in the box, but the referee waves play on.
1' -- Germany kick off to get us started in the national team's last friendly of 2017.
The German and French national teams gather in the middle circle for a moment of silence for former Germany and Cologne great Hans Schäfer, who passed away at the age of 90 last week.
Germany play host to France in an international friendly in Cologne, the national team's last match of 2017. This is also one of coach Joachim Löw's last chances to look at his squad before the World Cup in Russia. Prior to Tuesday's match, he told reporters that he was encouraging an "error culture" for friendlies – with a view to learning from them and correcting them in time for next summer's tournament.
The starting lineups:
Trapp - Can, Hummels, Süle, Plattenhardt - Khedira (C), Kroos - Gündogan, Özil, Draxler – Werner
Mandanda - Jallet, Varane, Umtiti, Digne - Tolisso, Rabiot, Matuidi - Mbappe, Lacazette, Martial