France followed their dramatic late win over England with a scratchy victory over Italy to maintain their 100% start to this year's Six Nations.
Second-half tries from Louis Picamoles, Wesley Fofana and Hugo Bonneval took the hosts clear from 9-3 at half-time.
Italy had competed well in the first half but could only muster one penalty, via Tommaso Allan, from four attempts.
A late try from Tommaso Iannone brought belated reward after a scrum flare-up that brought a red card for each side.
Italy replacement prop Michele Rizzo head-butted his French counterpart Rabah Slimani, who responded in kind, at which point Rizzo aimed a couple of upper-cuts in Slimani's direction.
Both men were sent off on the advice of touch judge Craig Joubert, the first time two players had seen red in a Five/Six Nations match since French duo Gregoire Lascube and Vincent Moscato in an infamous France-England clash in 1992.
France finished the match with 13 men, after replacement lock Sebastien Vahaamahina was sin-binned moments earlier for kicking the ball away.
But the late outbreak of violence did little to alter the course of a match that had long swung France's way.
They will head to Cardiff a week on Friday, 21 February, to face Wales with a possible Grand Slam still in their sights, while Italy face Scotland in Rome the following day in a likely Wooden Spoon decider.
A scoreless first 26 minutes in Paris brought a comedy of errors and missed kicks from both sides.
France scrum-half Jean-Marc Doussain inexplicably pushed an early penalty attempt wide from inside the Italian 22, and was equally unconvincing with his second effort from further out.
Fly-half Jules Plisson, in his second Test, then pulled a dismal drop-goal attempt wide as the hosts failed to punish Italy's early indiscretions.
The Azzurri were equally profligate, although Gonzalo Garcia's first two penalty attempts were from nearly halfway.
The second resulted from Italy's first-half dominance at the scrum, where Martin Castrogiovanni, who along with Sergio Parisse joined Andrea Lo Cicero as Italy's most-capped player on 103, and his fellow forwards drew two penalties in quick succession.
France finally generated enough momentum for Doussain to belatedly open the scoring in the 27th minute with a simple penalty in front of the posts, a minor victory for Italy after wing Leonardo Sarto hauled down French full-back Brice Dulin metres short.
But with loose-head prop Alberto De Marchi to the fore with several barnstorming charges, Italy levelled through an Allan penalty, only for the young fly-half to waste a golden opportunity to put his side ahead by pushing his next effort wide.
Instead Doussain landed two more penalties before the interval after France were sparked into life by a weaving run from Dulin from his own 22.
After a closely contested opening period, France knocked the stuffing out of the Italians with two quick-fire tries in the space of three minutes on the resumption.
First the hosts worked a catch-and-drive move from a line-out in the 43rd minute, number eight Picamoles twisting out of the back of the maul and stretching over for his sixth try for his country.
Barely two minutes later, the dangerous Fofana picked up from the base of a ruck and burst down an unguarded right touchline - and out of Luke McLean's attempted tackle - to grab his ninth Test try.
Doussain converted both and suddenly Italy were staring at a 20-point deficit, their average margin of defeat in their seven previous Paris contests in the Six Nations.
Alas for the Azzurri, it did not end there. A loose pass on the French 22 was intercepted by Fofana, who broke away to halfway before releasing the supporting Yoann Huget. The wing was tackled just short by Sarto in the left corner, but his inside pass handed Bonneval a debut try.
France, 30-3 ahead after Doussain's third conversion, appeared happy to see the game out and Italy enjoyed all the territory and possession in the final quarter.
Lock Joshua Furno lost the ball in the left corner as he attempted to ride Huget's last-ditch tackle, while replacement scrum-half Tobias Botes sniped over, but television match official Gareth Simmonds could not find an angle that confirmed he had grounded the ball.
Italy finally earned some reward for their persistence with a try from wing Iannone with three minutes left, but their 17th consecutive away defeat in the Six Nations was already sealed.
France: 15-Brice Dulin; 14-Yoann Huget, 13-Mathieu Bastareaud, 12-Wesley Fofana, 11-Hugo Bonneval; 10-Jules Plisson, 9-Jean-Marc Doussain; 1-Thomas Domingo, 2-Dimitri Szarzewski, 3-Nicholas Mas, 4-Yoann Maestri, 5-Pascal Pape, 6-Yannick Nyanga, 7-Bernard Le Roux, 8-Louis Picamoles
Replacements: 16-Benjamin Kayser (for Szarzewski, 58), 17-Yannick Forestier (for Domingo, 49), 18-Rabah Slimani (for Mas, 49, Mas for Nyanga, 75, Nyanga for Le Roux, 76), 19-Sébastien Vahaamahina (for Pape, 67), 20-Damien Chouly (for Picamoles, 58), 21-Maxime Machenaud (for Doussain, 61), 22-Francois Trinh-Duc (for Plisson, 67), 23-Gael Fickou (for Bastareaud, 73)
Yellow card: Vahaamahina (70)
Red card: Slimani (71)
Italy: 15-Luke McLean; 14-Tomasso Ianonne, 13-Michele Campagnaro, 12-Gonzalo Garcia, 11-Leonardo Sarto; 10-Tommaso Allan, 9-Edoardo Gori; 1-Alberto Di Marchi, 2-Leonardo Ghiraldini, 3-Martin Castrogiovanni, 4-Quintin Geldenhuys, 5-Joshua Furno, 6-Francesco Minto, 7-Mauro Bergamasco, 8-Sergio Parisse
Replacements: 16-Davide Giazzon (for Ghiraldini, 59), 17-Michele Rizzo (for Di Marchi, 59, Di Marchi for Bergamasco, 75), 18-Lorenzo Cittadini (for Castrogiovanni, 59), 19-Marco Bortolami (for Geldenhuys, 71), 20-Alessandro Zanni (for Minto, 51), 21-Tobias Botes (for Gori, 64), 22-Luciano Orquera (for Allan, 64).
Not used: 23-Angelo Esposito
Red card: Rizzo (71)
Referee: Jaco Peyper (South Africa)
Touch judges: Craig Joubert (South Africa) and Francisco Pastrana (Argentina)
TV: Gareth Simmonds (Wales)