Italy started brightly and almost opened the scoring through Mario Balotelli who linked up with strike partner Stephan El Shaarawy before crashing a long-range drive against the bar in the ninth minute.
Manchester City's extrovert forward was at the heart of most of the home attacks and it was his smart flick which led to Cesare Prandelli's side taking the lead on 35 minutes.
Riccardo Montolivo took a pass from Balotelli and fed El Shaarawy who calmly slipped the ball under keeper Hugo Lloris to claim his first Italy goal.
"I hope me and Mario can be the strike partnership of the future," said El Shaarawy. "It was a good pass from Riccardo and I nutmegged the keeper - it was a great feeling.
"I'm having a great time at the moment and I hope it continues," added the AC Milan forward who is joint top scorer in Serie A with eight goals.
Didier Deschamps's French team were second best but they equalised in the 37th minute with a special goal.
Mathieu Valbuena skipped past Marco Verratti and Andrea Barzagli on the left before cutting inside and curling a superb strike into the top corner.
France then started to improved and deservedly took the lead after 67 minutes.
Jeremy Menez did well down the left before cutting the ball back to Patrice Evra who crossed for substitute Gomis to tap in.
"It is a wonderful result against a high-level opponent," Deschamps told the French TV channel TF1.
"After we lost at home to Japan last month we lost five places in the FIFA world rankings so maybe now we will gain five."
Italy reacted positively to going behind and El Shaarawy's replacement Alessandro Diamanti whipped in a superb cross with a quarter of an hour left that only just evaded the head of Balotelli and the boot of the on-rushing Sebastian Giovinco.
Diamanti almost levelled himself five minutes later when he miskicked from close range following a Giovinco pass.
Giovinco also forced a good save from Lloris before France went close when Menez's driving run ended with Salvatore Sirigu producing a breathtaking save.
There was still time for Italy's Emanuele Giaccherini to thump the ball against the crossbar wth the goal at his mercy.
"We absolutely did not deserve to lose," said Prandelli after his young team suffered their fifth straight friendly defeat.
"We don't have to worry about the result. I'm satisfied with the performance."
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.