Antoine Griezmann scored twice as France came from behind to claim a second Nations League victory and continue Germany's abysmal run in 2018.
The visitors were eyeing just their second competitive win of the year when Toni Kroos scored from the penalty spot after Presnel Kimpembe had handled.
But Griezmann levelled for the world champions with a superb looping header from Lucas Hernandez's cross.
He then scored the winner from the spot after a foul on Blaise Matuidi.
Didier Deschamps' side remains unbeaten in the Nations League and top Group A1 with seven points from their three games. They are now unbeaten in 14 fixtures, including the seven that culminated in them lifting the World Cup in Russia this summer.