Samuel Umtiti, Antoine Griezmann and Ousmane Dembele were on target for Les Bleus at Allianz Riviera on Friday, with Italy captain Leonardo Bonucci replying for the Azzurri.
Mario Balotelli shrugged off pre-match injury concerns but could not add to his goal on a return from a four-year international exile against Saudi Arabia, wasting numerous chances.
France took an early lead when Umtiti bundled in a rebound, Griezmann doubling the advantage from the penalty spot inside half an hour after Rolando Mandragora fouled Lucas Hernandez.
Bonucci replied before the interval, but France’s rapid front three continued to impress and when Dembele bent a 63rd-minute stunner into the top corner, a fine victory was assured.
Didier Deschamps’ side will seek to add to three consecutive friendly wins when they face United States on June 9 in their final World Cup warm-up, while Roberto Mancini continues his rebuilding job when Italy, who did not qualify for Russia 2018, take on Netherlands on Monday.
France made a lively start and scored the opening goal in the eighth minute.
A deep Benjamin Pavard cross from the right found Kylian Mbappe at the back post and, though Salvatore Sirigu denied the striker, Umtiti slammed in his second France goal.
Passed fit to start, Balotelli blasted a free-kick into the wall before sending an ambitious strike flying wide.
France were playing with startling vitality, however, and N’Golo Kante was unlucky to see a 25-yard low drive fizz against the outside of Sirigu’s right-hand post.
After the impressive Mbappe sent a powerful shot just off-target, Hernandez beat Mandragora for pace down the left and was dragged down as he entered the penalty area.
Griezmann stepped up to beat Sirigu from 12 yards, although the goalkeeper guessed correctly by diving to his left, the Atletico Madrid striker breaking a four-game international duck.
Italy pulled one back in the 36th minute, captain Bonucci well placed to convert a close-range rebound after Hugo Lloris could only parry a ferocious Balotelli free-kick.
Playing on his home ground, Nice striker Balotelli forced a smart stop from Lloris seconds after the restart, the goalkeeper then springing Dembele clear with a long throw and the Barcelona winger clipping the crossbar at the end of a thrilling break.
Dembele fine-tuned his radar and would not be denied with his next effort, however, picking up the pieces after Mattia Caldara halted Mbappe’s run to find Sirigu’s top-left corner.
Balotelli appeared to hurt his right ankle after firing over the crossbar and was replaced after temporarily playing on.
Sirigu denied substitute Florian Thauvin a spectacular 85th-minute fourth, but for Deschamps this was an eye-catching performance with the World Cup less than two weeks away.
WATCH VIDEO BELOW