Germany snatched a late 2-2 draw on home soil after substitute Lars Stindl provided the injury-time equalizer in Cologne.
FIFA World Cup champions Germany avoided a defeat at the last international match in 2017 as the hosts fought back twice on goals from Timo Werner and Lars Stindl on Tuesday, reports Xinhua news agency.
Both sides staged a lively opening period as Germany tested France goalkeeper Steve Mandana through Mesut Oezil before Blaise Matuidi rattled the side netting from close range with seven minutes played.
As the match progressed, France assumed control of the ball and the proceedings on the pitch. They took a well-deserved lead 34 minutes into the encounter when Anthony Martial's square pass allowed Alexandre Lacazette to tap home the opener from very close range.
The hosts needed the break to recover from the setback as Anthony Ruediger had a promising chance to level the scores before Timo Werner capitalized on a through ball from Oezil to restore parity in the 56th minute.
Joachim Loew's men gained momentum but failed to grab the lead as Toni Kross rattled the woodwork following a free kick in the 70th minute. France punished the hosts' wastefulness as Kylian Mbappe teed up for Lacazette, who provided the second goal of the evening against the run of the game.
France should have sealed the deal in the 89th minute, but Anthony Martial failed to overcome Germany goalkeeper Kevin Trapp following a one-on-one encounter.
Thus, Germany had the last laugh as Lars Stindl benefitted from Mario Goetze's lay up to make it 2-2 in the dying minutes of the game to shock the visitors from France.
"I am very satisfied with the last two test games. Both games provided important insights for us. Today we played against a good team with excellent players. We staged an average first half but we improved our performance in the second half. However, France remained always dangerous," German head coach Joachim Loew said.