Leinster left it late but edged a pulsating BKT URC derby against Connacht at the Sportsground.
It was Ciarán Frawley who scored a stunning try with the clock in overtime to silence a boisterous crowd, who had surely believed that a first home win over Leinster since 2018 was theirs as they led 22-19 in the last minute.
The sides traded blow for blow over the course of a rip-roaring 80 minutes at the freezing Galway venue.
Pete Wilkins' side, who had won three from three at home, led at the break thanks to David Hawkshaw’s try and a penalty from JJ Hanrahan, while Charles Ngatai opened Leinster's account.
They found their groove in the third quarter and tries from Jason Jenkins and Ronán Kelleher looked to be enough.
However, man of the match Caolin Blade and Diarmuid Kilgallen turned the tables with two excellent tries before Frawley, moved to full-back despite a star turn at out-half last week against Munster, landed the killer blow to extend Leinster’s winning run here to seven games.
They return to the top of the table, while Connacht sit in eighth.
Cathal Forde's strong running was asking questions of Leinster’s defence early on, while Darragh Murphy stole two lineout throws in the opening nine minutes, the second of which soon turned into the opening score of the match.
Hawkshaw, who had just replaced the injured Tiernan O’Halloran, barged up the middle and quick hands by Mack Hansen, on his seasonal debut, set Byron Ralston free.
He made 30 yards before popping back to Hansen, who had Hawkshaw in support, and the centre outpaced Jason Jenkins to score in the corner in the ninth minute.
10' TRY! Connacht 5-0 Leinster
— RTÉ Sport (@RTEsport) December 2, 2023
David Hawkshaw finishes off a sweeping Connacht attack to get the Sportsground rocking
📺 https://t.co/b2OI4OoWVJ
🖥️https://t.co/mOC6bs8USS pic.twitter.com/0PunNZ2oJS
Leinster then camped in the Connacht 22; Rob Russell fielded a high ball and Harry Byrne’s grubber forced Caolin Blade to touch down over his own line.
Forde’s tackle on a rampaging Charles Ngatai was deemed worthy of a yellow card by referee Chris Busby after a video check.
But Leinster got in their own way under the posts and Connacht were able to clear their lines after winning a penalty for obstruction.
Connacht appeared to waste another good after Ryan Baird gave away another penalty for lifting Hansen, excellent throughout, at the ruck.
But Leinster got pushed off a subsequent scrum, to huge cheers from the sell-out crowd and JJ Hanrahan found the target from the penalty.
It was fast and furious and former Connacht man Robbie Henshaw, the only player to keep his place in the Leinster team from last weekend’s victory over Munster, broke the line but was hauled down before Connacht turned the ball over.
And it didn’t get any better from the set piece for the visitors. Firstly, they gave away a free kick from a scrum inside the Connacht 22 before Ronán Kelleher threw a short lineout throw crooked.
Leinster were dominating territorially, having 80% by the 32nd minute, but couldn't make it count and Ngatai and then Russell put down passes that they should have held.
The crowd were getting into the game and their ire was directed at the referee when he reversed a penalty in Leinster’s favour after some pushing and shoving, deemed to be instigated by a front row in a green shirt. It proved to be costly.
TRY! Connacht 8-7 Leinster
— RTÉ Sport (@RTEsport) December 2, 2023
Charlie Ngatai powers over for the visitors.
📺 https://t.co/XnOP6grnB7
🖥️https://t.co/BSAzhbyhnq pic.twitter.com/nyAtSoemqn
A pre-planned tap penalty move saw Ben Murphy fire the ball directly at Ngatai and the All Black cap crashed over; Byrne’s conversion made it a one-point game three minutes before the break.
Connacht could have had the last say of the half but Hanrahan turned down a reasonably easy shot at goal when Scott Penny was penalised at the ruck.
A Leinster jumper disrupted the lineout and the chance was gone.
The start of the second half was riddled with mistakes by both sides, Leinster's ill-discipline letting Connacht work their way in to the 22 but a dummy throw into the lineout by Heffernan allowed the visitors a way out.
They soon got a grip, with the addition of Ireland props Tadhg Furlong and Cian Healy, on a first appearance back since a pre-World Cup injury, and took the lead.
Murphy tapped a quick penalty close to the line and Peter Dooley was sin-binned for not retreating.
From there a try was inevitable and Jenkins was the man to power over from close range before Byrne kicked the extras.
It was almost immediately followed by another after Russell kicked and collected the ball and Penny broke the line but Kelleher was held up.
But the Ireland hooker got his score a few minutes later when he finished off in the corner after Connacht failed to deal with Ngatai’s grubber kick. Byrne was off target with the conversion but Leinster led 19-8 in the 55th minute.
Murray made a break as Connacht tried to respond but Hawkshaw’s pass for Paul Boyle went forward before the back row crashed over, with Jamie Osborne going off injured at the same time.
However, Connacht weren’t finished yet.
A superb move in midfield, involving Boyle and Forde sprung the Leinster line and Blade raced in for a trademark try, the five points turned in seven by Hanrahan’s conversion.
Leinster were left reeling moments later after a superb Boyle turnover in midfield.
Hanrahan popped to Hansen who beat his man and fed Kilgallen, who wasn’t touched in a 50-metre run in.
The conversion made it 22-19 with 10 minutes to play.
The Fields of Athenry gave way to Silent Night in the Clan Terrace as the Galway faithful found their voice and Christmas spirit.
Leinster toiled. Despite the heavyweight front row, where Lee Barron had come on for Kelleher, it was Connacht who edged the scrum battle in the final stages, twice opting to reset scrums after being awarded free kicks.
They were almost made to pay when Leinster kicked a penalty to the 22 but Barron’s throw wasn’t straight.
There was one last twist in the tale.
Dylan Tierney-Martin's throw in the lineout was crooked and when Leinster needed a solid scrum they got it.
Liam Turner made yards before the backs spread the ball quickly and Frawley stepped inside three men and dived over for the winner with the clock in overtime.
Connacht: Tiernan O'Halloran; Mack Hansen, Byron Ralston, Cathal Forde, Diarmuid Kilgallen; JJ Hanrahan, Caolin Blade; Peter Dooley, Dave Heffernan, Jack Aungier; Darragh Murray, Oisin Dowling; Cian Prendergast, Shamus Hurley-Langton, Seán Jansen.
Replacements: Dylan Tierney-Martin, Denis Buckley, Finlay Bealham, Niall Murray, Paul Boyle, Michael McDonald, David Hawkshaw, Conor Oliver.
Leinster: Ciarán Frawley; Rob Russell, Robbie Henshaw, Charlie Ngatai, Jamie Osborne; Harry Byrne, Ben Murphy; Ed Byrne, Rónan Kelleher, Michael Ala'alatoa; Ryan Baird, Jason Jenkins; Max Deegan, Scott Penny (capt), James Culhane.
Replacements: Lee Barron, Cian Healy, Tadhg Furlong, Ross Molony, Jack Conan, Cormac Foley, Liam Turner, Will Connors.
Referee: Chris Busby (IRFU)