The Scarlets made it six league wins in a row thanks to a bonus-point triumph over leaders Leinster in an entertaining Guinness PRO12 encounter in Llanelli.
The Scarlets, aided by the 41st-minute sending off of Leinster wing Barry Daly, surged into a 35-8 lead midway through the second half, but to their credit the Irish province battled back with 14 men to snatch a losing bonus point.
The hosts ran in five tries to their opponents' four, with Rhys Patchell converting all of them.
New Zealander Johnny McNicholl made a dream start to his Scarlets debut, the former Crusaders Super Rugby wing crossing for the match's opening try after only eight minutes.
It was a typical poacher's effort as he snaffled a pass that hooker Richard Strauss had juggled before racing 40 metres unopposed to the whitewash.
Strauss had an immediate chance to make amends, but again his hands let him down, dropping a pass with the line at his mercy.
The Scarlets doubled their advantage when Leinster lost second row Mike McCarthy to the sin-bin after a series of infringements, with the home pack rumbling over from a close-range line-out. South African prop Werner Kruger was awarded the score.
Skipper Isa Nacewa landed a close-range penalty to get the visitors on the scoreboard, but the Scarlets had their third try on 31 minutes when wing Steffan Evans showed good strength to squeeze over.
Steffan Evans could have had another, but spilled a pass with the line in front of him after a great break from scrum-half Jonathan Evans.
Instead it was Leinster who had the final word of the half when Strauss this time hung on to a pass after a slick attack that sliced open the home defence to reduce the deficit to 21-8 at the break.
But any thoughts of a Leinster comeback evaporated 30 seconds after the restart when Barry Daly was shown a red card for taking out full-back Aled Thomas in mid-air.
It led to the home side claiming their fourth try, with man of the match Will Boyde finishing off in the corner after the lively Steffan Evans had twice cut open Leinster's defence.
Hooker Ryan Elias ploughed over for the Scarlets' fifth try to take his side out of sight, but Leinster were in no mood to throw in the towel.
Wing Adam Byrne sliced through for their second try, then replacement Tom Daly dived over for another to put some uneasiness into the home ranks.
A Dan Jones penalty settled any Scarlets' nerves, but Leinster gained reward for their fightback by snatching a late bonus point when replacement Andrew Porter crossed in the final move of the match.