Antoine Griezmann scored twice as France came from behind to claim a second Nations League victory and continue Germany's abysmal run in 2018
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
In contrast, Germany
The result in Paris means they have now suffered six defeats in a calendar year for the first time and, following Saturday's 3-0 humbling reversal in the Netherlands, have lost two consecutive competitive matches for the first time since 2000.
It is sure to further increase the pressure on boss Joachim Low, who oversaw their group-stage exit at the World Cup and now faces the very real possibility of his country being relegated to League B of the Nations League.
They are bottom of the group with just one point, having played a game more than the Netherlands.