Ospreys took the Boxing Day derby spoils, claiming a bruising 26-19 victory in front of a 12,000-plus crowd at Parc y Scarlets.
A late converted try by replacement Jarrod Taylor earned the Scarlets a losing bonus, but it was little consolation after a game in which they had enjoyed the better of territory and possession for long periods.
After weathering an early home onslaught, Ospreys struck for two sucker punch tries and never allowed their rivals from across the Loughor back into the contest.
Scarlets were left to rue a glut of handling errors and, ultimately, a failure to turn pressure into points.
There were tries in each half by Joe Roberts, playing on the left wing, but it was the Ospreys fans who were celebrating at the final whistle.
Scarlets flew out of the blocks and laid siege to the visitors’ line during the opening quarter, but were unable to make a dent on the scoreboard.
Jake Ball did make his way over with just four minutes on the clock, but the score was ruled out for a double movement.
Scrum-half Gareth Davies then went close to pouncing on a kick through, but the ball agonisingly evaded his grasp, bouncing over the deadball line. Davies clattered into the advertising boards and needed treatment to a cut on his head.
Ospreys centre Kieran Williams was shown yellow for a deliberate knock-on after 18 minutes, but it seemed to galvanise the visitors who struck for the game’s opening score through centre Owen Watkin. Edwards converted from straight in front.
The Ospreys were celebrating a second soon after; hooker Dewi Lake touching down from a line-out drive. Fly-half Edwards again landed the extras.
A brilliant piece of skill by Tom Rogers from the kick-off set up another Scarlets attacking chance and this time the home side did make the pressure pay.
The forwards surged towards the Ospreys line and when the ball did emerge, the backline were able to free left wing Roberts who dived in at the corner. Joe Hawkins converted superbly from the touchline.
Edwards pushed a penalty attempt wide on 59 minutes, but Kieran Hardy’s try on 61 minutes was a killer blow after the Ospreys reacted the quickest to a loose ball.
Trailing 21-7, Scarlets desperately needed a spark and after Keelan Giles became the latest to see yellow for a deliberate knock-on the home side gave themselves a lifeline when a long looping pass from Hawkins found Roberts in space out on the left.
As the clock ticked down and needing a score quickly, Scarlets were reduced to 14 men themselves when Max Douglas was sin-binned with five minutes remaining.
Ospreys took full advantage – replacement Iestyn Hopkins gathering a cross-field to dive over wide out to seal the contest.
Taylor got over the whitewash from close range with the clock in the red, with Hawkins’s conversion earning the Scarlets a losing bonus point, but it was too little too late.
Dwayne Peel’s side will need to bounce back quickly with a short turnaround ahead of them before they face the Dragons at Rodney Parade on New Year’s Day.
Scarlets – tries: J. Roberts (2), J. Taylor. Cons: J. Hawkins (2)
Ospreys – tries: O. Watkin, D. Lake, K. Hardy, I. Hopkins. Cons: D. Edwards (3)
Scarlets: Ellis Mee, Tom Rogers (repl Macs Page 72), Eddie James, Johnny Williams (repl Elis Price 78), Joe Roberts, Joe Hawkins, Gareth Davies (repl Archie Hughes 70), Alec Hepburn (repl Josh Morse 75), Ryan Elias (capt; repl Marnus van der Merwe), Archer Holz (repl Henry Thomas HT), Sam Lousi (repl Jarrod Taylor HT), Jake Ball (repl Tristan Davies 75), Max Douglas, Taine Plumtree, Fletcher Anderson.
Referee: Ben Whitehouse (WRU)
Attendance: 12,105
