Ulster's miserable record in Dublin against Leinster continues as the reigning Heineken Champions Cup champions booked their place in the last four with a gripping 21-18 victory at the Aviva Stadium.

Ahead at the break and level with less than 10 minutes remaining, Ulster seriously threatened just a second win over Leinster in Dublin in the last 20 years, but 16 points from Ross Byrne and a strong finish ensured they take their place in the last four.

Tries in either half from Ross and Adam Byrne helped Leo Cullen's side prevail, though the sight of replacement Dan Leavy leaving the field after a lengthy stoppage will be a major concern.

FULL MATCH DETAILS

Victory keeps alive the prospect of an all-Irish final after Munster's victory over Edinburgh earlier in the day, though Racing 92 or Toulouse will have plenty to say about that in three weeks' time.

Few outside the large contingent of supporters who made the journey felt Ulster would topple the holders, but buoyed by the raucous support, they began at 100 miles an hour.

Within 90 seconds of the kick-off, the visitors signalled their intent. 

Iain Henderson allayed fears over his fitness with a big hit before the ball was turned over at the breakdown, while the sight of powerful centre Stuart McCloskey barrelling through Cian Healy had the travelling supporters in full voice.

Better was to follow shortly after when they drew first blood on the scoreboard, with Garry Ringrose's charity pounced upon by the men in red. 

Unable to spot a gap in his own 22, the Leinster centre drifted back infield before deciding to put boot to ball. The kick however was charged down by Ireland team-mate Rory Best and lock Kieran Treadwell won the footrace to dive over, with John Cooney's extras handing the early initiative to the 1999 champions.

The question of how the holders would respond was immediate and emphatic. 

Johnny Sexton's absence from the starting XV was seen as a boost for the underdogs, but Ross Byrne quickly showed his own attacking instincts

For 25 phases Leinster moved up and across, repelled by the Ulster defence, before the out-half checked inside and stretched his arm out for the try, though the conversion and first penalty effort both drifted wide of the posts.

Ulster were dealt a significant blow just after the quarter hour mark when captain Rory Best departed with what appeared to be an ankle injury, but it was they who claimed the next score of a hotly contested encounter, with Cooney slotting over the three points on offer after Cian Healy's misdemeanour at the breakdown.

While the Ulster tails were up, Leinster's coaching team will not be pleased with how they coughed up possession cheaply on a number of occasions. A wayward Sean Cronin dart in the Ulster red zone went awry while captain Rhys Ruddock spilled the ball minutes later as they looked to build into the contest.

It momentarily appeared Michael Lowry had stretched the lead after a breakaway attack, but referee Romain Poite had already blown his whistle long before the full-back raced under the posts.

For all that, the gap was down to two points when Byrne knocked over his first successful kick after Ulster back-rower Marcell Coetzee was penalised for going off his feet.

The closing stages were tit-for-tat, with Byrne and Cooney exchanging penalties; the home side profiting from a scrum penalty on 34 minutes to edge ahead on the scoreboard for the first time before, a lead that lasted just four minutes after Leinster's ill-discipline at the breakdown.

Ulster ended the half with 81 tackles and 42% possession, but you could hardly quibble with the 13-11 interval lead.

The second half began with a sense of deja vu when Ringrose had another kick blocked down, but on this occasion the ball trickled out over the endline before Billy Burns could get there. They went even closer minutes later when it appeared Jacob Stockdale added another collector's item to his catalogue of tries.

The winger raced along the tramline and over the line, but video replays showed he lost control of the ball just as he went to ground it under pressure from Dave Kearney's last-gasp tackle.

That was compounded when Leinster retook the initiative. Man-of-the-match Jack Conan's bulldozing run punched a hole in the Ulster defence and Adam Byrne was on his shoulder to sprint in for the try. 

Byrne, now very much in the groove, pushed the score out to 18-13 as Leinster unloaded the bench.

The game was halted for a period as the medical team examined the stricken Leavy before the flanker was eventually carted from the pitch with a suspected knee injury.

Luke Marshall marked his first appearance of the season with a timely Ulster try on 65 minutes. The Irish international made a stunning entrance after a long lay-off with an ACL injury.

With plenty to do after taking Burns' pass, he cut back inside the defence and jinked to the try line, though Conney's uncharacteristic miss from the tee meant it was all square at 18-18.

The game was now on a knife edge and the sight of a hobbling Ross Byrne standing over a penalty with eight minutes remaining added to the drama. The 23-year-old however was coolness personified to make it 21-18 before making way for Rob Kearney shortly after with 16 points to his name.

RECAP: LEINSTER 21-18 ULSTER

Dan McFarland's side desperately tried to engineer another score, but it was Leinster who finished the game like true champions, winding down the clock with controlled possession in their opponent's half to secure a seventh successive quarter-final win.

Leinster: Jordan Larmour, Adam Byrne, Garry Ringrose, Rory O'Loughlin, Dave Kearney; Ross Byrne, Luke McGrath; Cian Healy, Sean Cronin, Tadhg Furlong; Scott Fardy, James Ryan; Rhys Ruddock (c), Sean O'Brien, Jack Conan

Replacements: J Tracy for Cronin (58), E Byrne for Healy (58), A Porter for Furlong (67), M Kearney for Leavy (63), D Leavy for O'Brien (52), J Gibson-Park for McGrath (58), McGrath for Gibson Park (HIA 65), N Reid for O'Loughlin (h/t), R Kearney for R Byrne (73)

Ulster: Michael Lowry, Robert Baloucoune, Darren Cave, Stuart McCloskey, Jacob Stockdale; Billy Burns, John Cooney; Eric O'Sullivan, Rory Best (c), Marty Moore; Iain Henderson, Kieran Treadwell; Nick Timoney, Jordi Murphy, Marcell Coetzee.

Replacements: R Herring for Best (16), A Warwick for O'Sullivan (73), W Herbst for Moore (56), S Reidy for Coetzee (52), L Marshall for Cave (63), A Kernohan.