Ireland stuttered to an unimpressive win over Georgia in the Autumn Nations Cup at the Aviva Stadium.
First-half tries from Billy Burns and Hugo Keenan paved the way for their second victory of the campaign, which secures a play-off match with Scotland next Saturday.
However, it was far from plain sailing and Georgia, ranked 12th in the world, caused enough problems for the hosts to ensure that they will have plenty to work on ahead of next week's match.
On a beautifully clear day for rugby in Dublin, Ireland conceded 10 penalties, were turned over 12 times and took a series of poor options throughout.
In the end Georgia didn’t have the quality to take advantage but it will go down as another poor day at the office for head coach Andy Farrell.
Ireland made nine changes to the side that lost to England last weekend, bringing in Jacob Stockdale, Stuart McCloskey, Burns and Conor Murray to the backline, with Finlay Bealham, Rob Herring, Iain Henderson, Tadhg Beirne and Will Connors added to the pack.
Ireland dominated the opening 15 minutes and were full value for their 10-0 advantage.
There were a couple of handling and kicking errors but when Burns, making his first start, dummied close to the posts after taking Chris Farrell's soft pass, Ireland took a deserved lead.
The Ulster out-half converted and before Georgia had enjoyed any possession in the Irish half, added a penalty and everything, except for conceding a penalty at a scrum, was going according to Andy Farrell's script.
But Georgia, who had not scored in their opening Group A defeats to England and Wales, hit back and scored the try of the game in the 17th minute when full-back Soso Matiashvili played an inside pass to centre Giorgi Kveseladze on the halfway line.
The centre left Beirne, Andrew Porter, Stockdale, who took a dummy at full-back,and Burns in his wake and had enough momentum to reach over the line under the posts.
Tedo Abzhandadze converted and Georgia were in the game.
Burns added a straightforward penalty in the 23rd minute when Georgia failed to release the ball-carrier and Ireland upped the ante soon after.
Rob Herring and Stuart McCloskey both had efforts ruled out when Ireland looked to have crossed the line legitimately.
McCloskey, in particular, winning his first cap in two years, was unlucky to see his long-range effort ruled out for a forward pass in the build-up.
In between, Ireland grabbed their second try, Keenan scooting over in the corner following a perfect long pass from Stockdale.
Burns converted to give Ireland a 20-7 lead but there will have been frustration before half-time when they couldn't convert a period of pressure and were denied by the committed Georgia defence.
Things didn't improve on the restart either and the concession of a penalty when Chris Farrell held on in the tackle allowed Abzhandadze to kick a three-pointer.
Just prior to that, Burns looked to have suffered a groin strain and was replaced by Ross Byrne, Ireland’s second substitution with John Ryan coming on for Porter at half-time.
Levan Maisashvili's side were certainly the more vocal of the teams and with reason, too, a number of penalties at scrum-time and again against Chris Farrell for holding on, was giving them belief that an upset was on the cards.
That momentum stalled when Byrne kicked his first of the day in the 58th minute to give Ireland a buffer but there was no fluidity to their play.
The game was beginning to break up with the introduction of a raft of replacements, including a debut for Munster's Shane Daly, while Georgia lost number 8 Beka Gorgadze to a serious looking leg injury in the 63rd minute.
The scrum was continuing to be a source of pain for Ireland, while a couple of aimless kicks didn’t help.
One sensed, had there been a crowd present, it would have started a Mexican wave.
Try as they might to add a third try, Georgia held out and it's a performance that will throw up as many questions as answers for Ireland.
Ireland: Jacob Stockdale, Hugo Keenan, Chris Farrell, Stuart McCloskey, Keith Earls, Billy Burns, Conor Murray; Finlay Bealham, Rob Herring, Andrew Porter, Iain Henderson, James Ryan (capt), Tadhg Beirne, Will Connors, CJ Stander.
Replacements: Dave Heffernan, Cian Healy, John Ryan, Quinn Roux, Peter O'Mahony, Kieran Marmion, Ross Byrne, Shane Daly.
Georgia: Soso Matiashvili, Akaki Tabutsadze, Giorgi Kveseladze, Merab Sharikadze (capt), Tamaz Mchedlidze, Tedo Abzhandadze, Vasil Lobzhanidze; Mikheil Nariashvili, Shalva Mamukashvili, Beka Gigashvili, Nodar Cheishvili, Lasha Jaiani, Beka Saginadze, Tornike Jalagonia, Beka Gorgadze.
Replacements: Giorgi Chkoidze, Lexo Kaulashvili, Giorgi Melikidze, Giorgi Javakhia, Mikheil Gachechiladze, Mikheil Alania, Demur Tapladze, David Niniashvili.
Referee: Mathieu Raynal (FRA)