Leinster are through to their sixth Heineken Champions Cup final after a dominant victory over holders Toulouse at the Aviva Stadium.

Last winners in 2018, Leo Cullen's side booked a date with either Racing 92 or La Rochelle, who meet in Lens tomorrow.

And they did so in style.

They ran in four tries through James Lowe (2), Josh van der Flier and Hugo Keenan and restricted Toulouse, who had already beaten Ulster and Munster, to 17 points and two tries, the second of which came when the result had more or less been decided.

A crowd of 42,076 witnessed a controlled and clinical performance by the four-time winners, who will surely go into the decider in Marseille in two weeks’ time as favourites.

Just a week on from a classic European clash at the Aviva, Toulouse were back to play their part in another brilliant half of rugby.

It was mostly a bit-part.

Having required extra time and a shootout to see off Munster last weekend, it was perhaps understandable that the French visitors looked heavy in the legs.

And they picked the wrong team to tango with.

One of only two sides with an average ruck speed of less than three seconds, Leinster boasted the most linebreaks in the entire competition with an average of 10.2 per match.

They set about their business, which was establishing a tempo that would test the French limbs.

A first score duly arrived with Sexton tapping over from under the posts after the Toulouse defence committed any number of infringements.

The hosts came straight back down again and Tadhg Furlong, who retired injured in the 17th minute, floated a beautiful pass for Hugo Keenan, whose deceptive running style took him past the red line.

Jamison Gibson-Park then fluffed a kick through and Antoine Dupont picked up the loose ball and ran 80 metres to the Leinster posts.

Van der Flier gave chase but the scrum-half was never going to be caught and Thomas Ramos's kick gave the French a 7-3 lead.

But that attack was an aberration and Leinster continued to control the possession and territory.

More ill-discipline at the breakdown gave Sexton a chance to kick his second penalty.

Still, the five-time champions didn’t learn and from the next penalty, Sexton kicked to the corner. Robbie Henshaw and Furlong made the initial headway before Sexton sent Lowe over with a delicate inside pass.

The blue wave kept coming; Sexton threw a beautiful dummy on the 22 that fooled the entire Toulouse line and although his pass to Van der Flier initially appeared to give the in-form flanker too much work, he was able to roll over for the second try.

Sexton’s conversion made the score 20-7 in the 21st minute and it was no more than Leinster, who had beaten Leicester Tigers in the quarter-finals, deserved.

Ramos and Sexton then swapped penalties, with the Toulouse chance coming from a scrum penalty with Cyril Baille getting the better of Michael Ala’alatoa.

Gibson-Park was on the receiving end of some rough treatment at the back of the ruck and after being hit late earned a penalty that the captain slotted over.

When another poorly timed intervention stopped a promising Leinster move, second row Emmanuel Meafou went in the bin, however the hosts mucked up a lineout move and Toulouse got into the dressing room just 23-10 down.

Leinster didn’t manage to score with the Aussie in the bin but in the first play after his return they grabbed a third try.

Gibson-Park blocked down Juan Cruz Mallia and James Ryan, Dan Sheehan - who replaced Rónan Kelleher during a head injury assessment - and Lowe made inroads.

Playing a penalty advantage under the sticks, Sexton flung out a trademark flat pass, which Lowe caught and touched down under no pressure.

Sexton’s kick put 20 between the team and Ugo Mola made five switches, eyes turning towards a Top14 clash away Brive next weekend.

The reigning French champions are just on the cutline for the play-offs.

Jimmy O'Brien, on his 50th appearance, and Lowe almost combined to get a fourth try but Toulouse managed to extricate themselves and earn field position, which led to replacement Selevasio Tolofua going over in the corner for a try that was converted by Ramos.

With Leinster having failed to get three scores clear, Toulouse at least had a reasonable target but such was the intensity of the URC leaders' defensive effort, they always maintained a comfortable lead, even when Luke McGrath, Ross Byrne and Ciaran Frawley replaced Gibson-Park, Sexton and Henshaw.

A sustained period of possession led to a penalty under the posts and Byrne tapped over to extend the lead to 33-17 with five minutes left.

Keenan's converted try, after Doris picked the ball off Dupont and a Lowe burst, rounded off the scoring and Leinster had got the job done.

Leinster: Hugo Keenan; Jimmy O'Brien, Garry Ringrose, Robbie Henshaw, James Lowe; Johnny Sexton (capt), Jamison Gibson Park; Andrew Porter, Rónan Kelleher, Tadhg Furlong, Ross Molony, James Ryan, Caelan Doris, Josh van der Flier, Jack Conan

Replacements: Dan Sheehan, Cian Healy, Michael Ala'alatoa, Joe McCarthy, Rhys Ruddock, Luke McGrath, Ross Byrne, Ciaran Frawley.

Toulouse: Thomas Ramos; Juan Cruz Mallia, Pierre Fouyssac, Pita Ahki, Matthis Lebel; Romain Ntamack, Antoine Dupont; Cyril Baille, Julian Marchand (capt), Dorian Aldegheri; Rory Arnold, Emmanuel Meafou; Rynhardt Elstadt, Francois Cros, Anthony Jelonch.

Replacements: Peato Mauvaka, Rodrigue Neti, David Ainu'u, Joe Tekori, Selevasio Tolofua, Thibaud Flament, Martin Page Relo, Zack Holmes.

Referee: Karl Dickson (RFU)