Lars Stindl rescued a draw in stoppage time to extend Germany's unbeaten run to 21 matches as the world champions twice came from behind to earn a 2-2 draw with France in Cologne.
Stindl, an 83rd-minute replacement for Emre Can ensured Joachim Low's finished 2017 without tasting a single defeat, their last loss coming at the hands of France in the European Championship semi-finals last year.
That run looked like coming to an end when Alexandre Lacazette netted twice on Tuesday – the Arsenal striker profiting from Anthony Martial's brilliant footwork for his first before Kylian Mbappe created his second.
In between the Arsenal striker's brace Timo Werner levelled for the hosts as he broke the French offside trap to sweep home Mesut Ozil's pass.
But a second goal looked too much for the hosts as the game entered stoppage time, however substitute Stindl had other ideas as he fired low past Steve Mandanda just 10 minutes after coming on.
Low will hope to see better defending when his side face Spain and Brazil before they begin their World Cup defence in Russia, but their battling spirit will give the coach plenty of encouragement.
A Germany side showing six changes from their draw with England took time to settle and that allowed France to have the better of the opening exchanges, although they initially failed to stretch Kevin Trapp.
Mbappe may well have done when he found space in the 12th minute, but Mats Hummels came to Germany's rescue with a perfectly executed sliding tackle.
Lacazette – preferred in attack to Antoine Griezmann – eventually tested Trapp just before the half-hour mark, while at the other end an important block from Raphael Varane denied Ozil.
Minutes later Trapp had to be alert again to keep Mbappe out low to his right, the Paris-Saint Germain goalkeeper denying his club-mate after a neat Cruyff turn in the penalty area.
Finally, in the 33rd minute, the goal France's pressure deserved came, Martial dancing past Niklas Sule before touching the ball wide of Trapp for Lacazette to apply a simple finish.
Sacre bleu! Nothing Trapp can do this time, as Martial goes full FIFA to give Lacazette a tap-in (33') #GERFRA 0-1— Germany (@DFB_Team_EN) November 14, 2017
Half-time substitute Antonio Rudiger should have brought Germany level seven minutes after his introduction, but the Chelsea defender skewed his effort wide after great work down the left from Julian Draxler.
Germany did not have to wait long for their equaliser as Ozil led a swift counter-attack, his pinpoint throughball releasing Werner and the RB Leipzig forward calmly slotted under Mandanda.
Almost immediately Martial thought he had restored France's lead, but Trapp got down brilliantly to push away his dipping strike.
A Kroos free-kick rattled Mandanda's bar with 20 minutes to play but while the Real Madrid midfielder was wondering how it stayed out, France scored.
Rudiger inexplicably left Lacazette in acres of space 20 yards from goal and the 26-year-old beat Trapp again after being found by Mbappe's pass.
Low introduced Mario Gotze for his first international appearance in just shy of a year and he came good with a superb assist for Stindl, who kept their run going by sliding home a neat 93rd-minute finish.
|Cricket Australia closes investigation into Moeen claim|
|Zlatan impressed by ´MVP´ singer|
|Modric hoping to complete FIFA and UEFA double at Best Awards|
|Mickelson never doubted Woods would win again|
|Woods looked like Tiger of old in 80th PGA Tour win|
|Chelsea were too slow against West Ham - David Luiz|
|Tottenham star Kane acknowledges sub-par start|
|Rashid signs one-year all-format deal with Yorkshire|
|Brady and Patriots crash to back-to-back defeats|
|Gundogan looking forward to ´real test´ against Liverpool|
|Cubs move closer to clinching NL Central|
|Valverde bewildered by Lenglet red card as Barca boss questions VAR|
|Cronk a ´long shot´ to play in NRL Grand Final|
|Cleary re-signs with Panthers until 2024|
|Bills stun Vikings, Chiefs QB Mahomes impresses again|
|Tiger feels he can surpass Snead´s record after 80th victory|
|Ronaldo mentally stronger than others, says Allegri|
|MLS Review: Ibrahimovic scores as Galaxy end seven-game skid, Dallas reclaim top spot in west|
|Rose told Woods it was ´about time´ after win|
|Dustin Johnson regains number one ranking|
|Pogba: Sanchez will deliver at Man United|
|Federer, Zverev help Europe defend Laver Cup|
|I couldn´t sit or stand – Tiger Woods reflects on back woes after ending drought|
|Snead´s record in sight – Tiger Woods´ 80 PGA Tour wins|
|Nicklaus, Magic Johnson, McIlroy and Kane – Sports stars celebrate Tiger´s Tour win|
|Tiger Woods season in review: Tour Championship win caps remarkable comeback|
|49ers fear QB Garoppolo suffered torn ACL|
|World of golf is proud of Woods – Rose|
|WATCH: Tiger followed by incredible sea of fans at East Lake|
|Three takeaways from the 2017-18 PGA Tour season|
|Mbappe shows off signed Pele shirt|
|Tiger timeline: Woods´ fall and rise|
|Spieth´s breakthrough, Garcia´s Masters moment - Events between Tiger´s triumphs|
|Tiger Woods: I was close to tears on the last hole|
|Woods earns first win since 2013; Rose claims FedEx Cup|
|Pogba implores Manchester United to ´attack, attack, attack´|
|Valverde, Busquets and Vidal criticise Lenglet dismissal|
|Tiger Woods: The stunning statistics|
|Fitness hindering Dybala form, says Allegri|
|BREAKING NEWS: Woods claims first title since 2013, Rose wins FedEx Cup|
|Povetkin struggles leave Joshua with no Wilder fear|
|Guardiola targets Barca, Bayern dominance with Premier League priority|
|Centurions Rohit and Dhawan put India in final|
|Eagles top Colts as Wentz makes his return|
|Barcelona 2 Girona 2: Stuani brace punishes Lenglet red|
|Frosinone 0 Juventus 2: Ronaldo redeemed as champions extend perfect start|
|Gattuso: No alibis for two-faced AC Milan|
|Bangladesh hold on despite late Afghanistan charge|
|Composed Woods hits turn with five-shot lead|
|Chiefs´ Mahomes has another record-breaking Sunday|
|Saints QB Drew Brees passes Brett Favre for most career completions|
|Emery hints Leno may need patience after Cech display|
|Picamoles scores four as Montpellier batter 14-man Toulouse|
|Messi breaks LaLiga record|
|Worcester fend off prowling Tigers, Sarries go top|
|AC Milan 2 Atalanta 2: Last-gasp Rigoni rescues a point|
|Neymar keen to repay supporter affection|
|Pellegrini rues West Ham´s wastefulness|
|Paris Saint-Germain´s positive response buoys Tuchel|
|Lewis rekindles fond memories with Vilamoura triumph|
|Arsenal 2 Everton 0: Lacazette, Aubameyang extend winning streak|
|Stephens suffers as Osaka withdraws in Wuhan|
|Rhinos run riot to secure Super League status|
|Risk brings reward for victorious Marquez|
|Let´s have some fun - Wentz tweets message to Eagles fans ahead of return|
|Maybe in a year Chelsea will be at Liverpool´s level – Sarri|
|Under-pressure Rodgers bemoans ´bitty´ Celtic start|
|Slater should be banned for Grand Final - Fittler|
|Simon ends Bachinger fairytale to lift Metz title|
|Dominant Thiem reigns in St. Petersburg|