|Scarlets 8 (23)|
|Try: Barclay, J Williams, Pitman Pen: S Shingler Con: S Shingler, Priestland|
|Leinster (10) 13|
|Try: Te'o Pen: Gopperth 2 Con: Gopperth|
Scarlets maintained their unbeaten Pro12 home record with a victory over champions Leinster which boosts their hopes of finishing in the top six.
Ben Te'o crossed for the opening try and although John Barclay replied for the hosts, Leinster led at the interval.
Jordan Williams and Rory Pitman tries put Scarlets in control before Rhys Priestland's penalty sealed victory.
Scarlets are three points behind sixth-placed Connacht with Leinster fifth.
The victory at Parc y Scarlets will give Wayne Pivac's side confidence as they bid to qualify for next season's European Champions Cup but the defeat dented Leinster's play-off hopes.
Wales centre Scott Williams made his first Scarlets appearance since January, while Ireland prop Cian Healy made his first Leinster start in six months.
Fly-half Steve Shingler opened the home side's account with a penalty but it was the current Pro12 champions who claimed the game's first try.
Centre Te'o cut an exquisite angle through the Scarlets midfield before stepping his way to score at the posts, with fly-half Jimmy Gopperth landing the simple conversion.
Gopperth added another three points following more pressure from the visitors, but Scarlets responded strongly and crossed for their first try just before the half-hour mark.
Some slick handling by the home backs had Leinster on the back foot and Scotland back-rower Barclay did well to squeeze in at the corner.
It needed the television match official to confirm the number eight had avoided touch in the process of touching down.
Shingler was short with the conversion but Scarlets regained the lead 11 minutes after the restart.
After strong work from the forwards which took play to the Leinster line, the home side appeared to have butchered an overlap but they regrouped and silky hands from Regan King put Williams over.
Gopperth's long range penalty reduced the home side's advantage to two points before Barclays burst through to set up the Scarlets' third try, finished off by replacement Pitman.
Shingler failed with the conversion and it was his replacement, Priestland, who scored the penalty which sealed the victory.
Scarlets: Jordan Williams; Harry Robinson, Regan King, Scott Williams, Hadleigh Parkes; Steven Shingler, Aled Davies; Phil John, Ken Owens (capt), Peter Edwards, George Earle, Johan Snyman, Lewis Rawlins, James Davies, John Barclay.
Replacements: Ryan Elias, Wyn Jones, Jacobie Adriaanse, Jack Payne, Rory Pitman, Gareth Davies, Rhys Priestland, Adam Warren.
Leinster: Zane Kirchner; Fergus McFadden, Ben Te'o, Gordon D'Arcy, Luke Fitzgerald; Jimmy Gopperth, Eoin Reddan; Cian Healy, Sean Cronin, Marty Moore, Mike McCarthy, Kane Douglas, Rhys Ruddock (capt), Dominic Ryan, Jack Conan.
Replacements: Richardt Strauss, Michael Bent, Tadhg Furlong, Tom Denton, Josh van der Flier, Isaac Boss, Noel Reid, Dave Kearney.
Referee: George Clancy (IRFU)
Assistant Referees: Gwyn Morris, Chris Williams (both WRU)
Citing Commissioner: Jeff Mark (WRU)
TMO: Tim Hayes (WRU)