France edged out Croatia 2-1 thanks to Kylian Mbappe's late effort in an end-to-end UEFA Nations League encounter.
Buoyed by a limited, albeit raucous, home crowd in Zagreb, Croatia looked well-placed to push on when Nikola Vlasic cancelled out Antoine Griezmann's stunning eighth-minute opener.
Mbappe failed to convert a gilt-edged chance soon after the world champions broke the deadlock, and Croatia could have made France pay earlier if not for an excellent stop from Hugo Lloris, who was then beaten by Vlasic after the break.
Despite a superb stop from Dominik Livakovic to deny Paul Pogba, France had their winner when Lucas Digne brilliantly teed up Mbappe with 11 minutes remaining.
Griezmann drew France level in Les Bleus' 4-2 triumph over Croatia in September, and it did not take long for him to open the scoring this time out as he arrowed a brilliant finish in off the woodwork.
It should have been 2-0 seven minutes later, only for Mbappe to slice wide with the goal gaping, with Anthony Martial seeing a penalty appeal turned down following a tussle with Domagoj Vida.
Mario Pasalic looked set to restore parity when he pounced on a loose ball six yards out, only for Lloris to make an outstanding save with his feet.
Vlasic drilled wide from the edge of the area eight minutes into the second half, yet the playmaker showed no such profligacy soon after when he prodded a fantastic finish across Lloris and into the left-hand corner.
Substitute Pogba made an instant impact, though, and would have restored France's lead if not for Livakovic's reactions.
However, the Manchester United man was to prove decisive, with his raking pass finding Digne, who volleyed in a cross for Mbappe to keep France level pegging with Group A3 leaders Portugal.