Paul Gabrillagues, Hugo Bonneval and Mathieu Bastareaud racked up tries for the hosts, who were holding a Six Nations match outside of Paris for the first time, to help them bring their eight-game winless run to an end.
Gabrillagues pulled off a deft catch and dive to break the deadlock with the opening try with five minutes on the clock, but an early penalty try for Italy after a collapsed maul put the visitors 7-5 in front.
Bastareaud landed four penalties for Les Bleus during the course of the match, and it was his contributions that gave the home side a slender 11-7 advantage at half time.
Bonneval added a second try after the break and France ensured that it would be a landslide victory in the 72nd minute when a surging run from Marco Tauleigne allowed Bastareaud to power over the line and make it 34-10.
The Italians registered a late try and penalty through full-back Matteo Minozzi, but have now lost a record 15 straight Six Nations matches.