Ireland kept their hopes of a third Six Nations title in four years alive by recovering from an early deficit to beat France in a bruising encounter.
Two Camille Lopez penalties put France 6-0 up but Conor Murray’s converted try edged Ireland into a one-point lead.
Johnny Sexton added two penalties and a drop goal in a keenly contested second half, with Lopez and replacement Paddy Jackson trading late penalties.
Sexton, back after injury, passed the 600-point mark in international rugby.
- Relive Ireland’s win in Dublin
Ireland move a point ahead of Scotland at the top of the table, with England’s game at home to Italy to come on Sunday.
Joe Schmidt’s men, beaten in their first match in Scotland, have 10 points from their three matches and now face Wales away and England at home.
France left the Aviva Stadium empty-handed to remain on five points and they next host Italy before a final-day trip to Cardiff.
Ireland remain unbeaten at home in the Six Nations during the tenure of coach Schmidt, a run stretching back to 2014, and they will go into their next game in Cardiff on 10 March with confidence.
France displayed glimpses of the much-heralded revival under their coach Guy Noves but showed signs of tiredness throughout the second half and their hopes of a first championship success since 2010 are now surely over.
Only once in the past 10 Six Nations meetings between these sides had the winning margin reached double digits, so Ireland will be happy to come away with a hard-fought win and deny their opponents a losing bonus point.
- Get all the latest Six Nations news by adding rugby union alerts in the BBC Sport app.
Irish respond to early France flourish
France began in intense fashion as they sought to carry through the momentum gained from their narrow defeat by England and morale-boosting success over Scotland.
Their enterprising start was epitomised by an outrageous dummy by scrum-half Baptiste Serin, which almost yielded a try, while centre Remi Lamerat was only denied a score by a knock-on by his midfield partner Gael Fickou after Lopez’s audacious cross-field kick had set up the chance.
In the event, the visitors only had two Lopez penalties to show for their early dominance and it was Ireland who assumed control for the remainder of the half.
The hosts were rewarded for their superiority in territory and possession when Robbie Henshaw made ground after a five-metre scrum and passed to man-of-the-match Murray, who dived over from close range for the only try of the game.
Ireland should have gone in at half-time further ahead, but turned down a couple of kickable penalties in favour of kicking for the corner, while the French defended stoutly to keep their half-time arrears to a single point.
France looked a more confident, settled and better prepared side for periods in the first half, but despite their squad having enjoyed an accustomed break from Top 14 action last weekend, they were already showing signs of fatigue by the interval.
Irish inspired by returning Sexton
It was Ireland who showed the greater purpose and spirit after the break, with fly-half Sexton defying the fact that he had been out of action through injury for the past five weeks by pulling the strings and piling on the points.
In the first half, the Leinster man converted Murray’s try and almost created a try for himself when he kicked towards the corner after a fine Ireland wraparound move along the backs, only for wing Noa Nakaitaci to ground the ball first.
The number 10’s early second-half penalty was followed by an exquisite drop-goal, which brought the home supporters to their feet and the Aviva Stadium to life.
A further penalty extended Ireland’s advantage in a breathless second half and although the French put up some resistance, the hosts showed the greater resilience and, with the Ireland pack largely in control, the outcome never looked in doubt.
After Sexton was withdrawn to a rapturous reception, Lopez pulled France back to bonus-point range with his third penalty, but Jackson’s kick with four minutes remaining ensured the Noves’ side went home empty-handed and broken-hearted.
Man of the match
Ireland: Kearney, Earls, Ringrose, Henshaw, Zebo, Sexton, Murray, McGrath, Best, Furlong, D. Ryan, Toner, Stander, O’Brien, Heaslip.
Replacements: Trimble for Kearney (51), Jackson for Sexton (69), Marmion for Murray (79), C. Healy for McGrath (60), Scannell for Best (68), J. Ryan for Furlong (74), Henderson for D. Ryan (60), O’Mahony for O’Brien (68).
France: Spedding, Huget, Lamerat, Fickou, Nakaitaci, Lopez, Serin, Baille, Guirado, Slimani, Vahaamahina, Maestri, Le Roux, Gourdon, Picamoles.
Replacements: Camara for Spedding (74), Chavancy for Lamerat (60), Machenaud for Serin (62), Ben Arous for Baille (51), Tolofua for Guirado (62), Atonio for Slimani (51), Le Devedec for Vahaamahina (51), Ollivon for Le Roux (60).
Referee: Nigel Owens (Wales)
Touch judges: Wayne Barnes (England) Luke Pearce (England)
TMO: George Ayoub (Australia)