In-form winger Steff Evans scored the first of the Scarlets’ three first half tries as they swept into a 21-10 half-time lead. Aaron Shingler and Gareth Davies also touched down and Garry Ringrose grabbed Leinster’s seven-pointer.
It was Ringrose who landing on his head in a 37th-minute tip tackle that saw referee Marius Mitrea red card Evans after consulting with TMO Alan Falzone.
Leinster crept closer thanks to Jack Conan’s 63rd-minute try, but the Scarlets, who were strong in defence and at the breakdown throughout, prevailed thanks to two closing penalties from Liam Williams.
The manner of this defeat – the first for a home team in 19 PRO12 semi-finals – will sting Leo Cullen’s men over the summer months, especially coming on the back of the recent Champions Cup last-four exit.
Leinster captain Isa Nacewa had a try ruled out for a forward pass from Jonathan Sexton amid a dominant opening three minutes from the men in blue.
However, it was the Scarlets who nipped ahead in the ninth minute, Evans scampering over for his 12th try of the campaign after Adam Byrne’s missed tackle had allowed Jonathan Davies to tee up a classy converted score.
Ringrose was Leinster’s bright spark, but four handling errors inside the first 14 minutes left the hosts frustrated.
They got off the mark five minutes later, a Nacewa penalty punishing Lewis Rawlins for not releasing after the tackle.
Evans’ subsequent try-saving tackle on Luke McGrath, combined with Liam Williams’ poaching skills, denied the hosts soon after, with McGrath suffering a game-ending injury in the process and joining Jack McGrath on the sidelines.
Leinster’s replacement scrum half Jamison Gibson-Park made an immediate impact, inspiring some excellent interplay off a lineout which ended with Conan putting Ringrose over for his 23rd-minute try.
But the Scarlets’ attack oozed quality off limited ball, Gibson-Park’s partially-blocked kick providing the platform from which Shingler exploited a gap and linked with scrum half Davies for a sucker punch score.
Leinster’s defence lulled again on the half hour as brilliant hands from Scott Williams, man-of-the-match James Davies and Evans played in number 9 Davies for a third converted effort – Rhys Patchell supplied the extras again.
A couple of flash-points, including a scuffle involving half-backs Davies and Sexton, increased the decibel level, and Evans’ lifting of Ringrose in the tackle left his side down to 14 men.
Individual mistakes prevented Leinster from exploiting their numerical advantage on the resumption, the visitors surviving the third quarter unscathed with James Davies, who covered on the wing, and former Leinster lock Tadhg Beirne both putting in impressive performances.
Ryan Elias’ overthrown lineout saw the Scarlets slip up as Conan managed to barge over from close range. Nacewa fluffed his lines, though, with a poor conversion attempt, and it was Wales’ first PRO12 finalists since 2012 who held their nerve. With Patchell replaced, winger Williams split the posts in the 70th and 79th minutes to seal the win.