|Ospreys (13) 16|
|Tries: Matavesi Cons: Davies Pen: Davies (3)|
|Scarlets (13) 25|
|Try: Van der Merwe Con: Jones Pen: Jones (2), Thomas (4)|
Aled Thomas came off the bench to kick Scarlets to only their second win over Ospreys at Liberty Stadium.
The west Wales rivals were tied at 13-13 before the fly-half kicked four penalties in the final 18 minutes.
Centre Josh Matavesi's try had given Ospreys an early lead before DTH van der Merwe replied for Scarlets.
The result cements Scarlets' position in the top three, and leaves the Ospreys in ninth place - a long way off European Champions Cup qualification.
Sam Davies kicked 11 points for the Ospreys, but the Scarlets' forward dominance after the break kept the home team at arms length.
With Wales forwards Alun Wyn Jones and Justin Tipuric injured, Ospreys struggled at the scrum and could not break the stranglehold Wayne Pivac's team established up front.
The defeat is a blow to Ospreys' already slim top-flight European qualification hopes, and confirms Scarlets as the top region in Wales this season.
Scarlets were pipped 27-26 in the first meeting between the sides this season.
But their pack were in no mood to allow a repeat, with the front row and flanker James Davies outstanding.
In the anticipated battle of the half-backs, it was honours even in a first half when Ospreys number 10 Davies looked assured with Wales fly-half Dan Biggar waiting on the bench.
His delayed pass put Evans through a hole to set up Matavesi's try, and he kicked impeccably.
Scarlets scrum-half Gareth Davies darted through a gaping narrow-side hole to set up the chance for Van der Merwe's outstanding finish in the left corner.
|More from BBC Wales Sport|
|Wales' Ben Davies fit to face Ukraine|
|Grimsby Town 1-0 Wrexham|
|Farah third in World Half Marathon|
After the break, the visitors established a control, but could not turn it into points.
And the key moment came when Hadleigh Parkes intercepted a Rhys Webb pass with an Ospreys try looking certain.
With that danger passed, Scarlets re-established control and Thomas made up for missing his first kick at goal by nailing the next four - and possibly the crucial nails into Ospreys' European ambitions.
Ospreys: Dan Evans; Jeff Hassler, Ben John, Josh Matavesi, Eli Walker; Sam Davies, Rhys Webb; Paul James (capt), Scott Baldwin, Aaron Jarvis, James King, Rory Thornton, Dan Lydiate, Sam Underhill, Dan Baker.
Replacements: Sam Parry, Nicky Smith, Dmitri Arhip, Adam Beard, Olly Cracknell, Brendon Leonard, Dan Biggar, Owen Watkin.
Scarlets: Michael Collins; Steffan Evans, Regan King, Hadleigh Parkes, DTH van der Merwe; Dan Jones, Gareth Davies; Rob Evans, Ken Owens (capt), Peter Edwards, Jake Ball, David Bulbring, John Barclay, James Davies, Morgan Allen
Replacements: Kirby Myhill, Dylan Evans, Samson Lee, Maselino Paulino, Will Boyde, Aled Davies, Aled Thomas, Harry Robinson
Referee: Ben Whitehouse (WRU)
Assistant referees: Ian Davies, Wayne Davies (WRU)
Citing commissioner: John Charles (WRU)
TMO: Jon Mason (WRU)