Scarlets secured a deserved hard-fought win over Pro12 leaders Munster to keep alive their slim play-off hopes.
Gareth Davies scored Scarlets' opening try during a dominant half but a mistake let in Gerhard van den Heever and Munster led at the break.
John Barclay's try restored the home side's lead before a second van den Heever try was disallowed.
Scarlets survived a scrappy final quarter to inflict Munster's third Pro12 loss.
Munster, who had won all previous seven games against the four Welsh regions this season, remain top while Scarlets are sixth.
Centre Jonathan Davies started for the Scarlets and came through 64 minutes ahead of Wales' Six Nations clash against England at Twickenham next Sunday.
Davies, back after recovering from a pectoral injury suffered in Wales' defeat to South Africa last November, partnered former England international Olly Barkley in midfield.
Barkley secured his first points as a Scarlets player to give the home side a 3-0 lead during a promising opening.
Munster's first foray of note into the Scarlets half resulted in their first points of the game with Ian Keatley successful with a penalty to draw the sides level two minutes later.
The home side's pressure was rewarded with a try on 27 minutes when scrum-half Davies scampered in after breaking down the blindside from a maul.
Scarlets had most of the territory and possession but there hard work was undone in the space of five minutes before half-time.
Barkley dropped a pass in midfield allowed van den Heever to run in unopposed, and Keatley converted to put his side into the lead.
On the stroke of half-time, a Scarlets infringement at a ruck allowed Keatley to kick a penalty which extended Munster's advantage to five points.
Keatley missed a second minute penalty to further extend his side's lead after the interval while Aled Thomas was on target with his own penalty.
Flanker Barclay ran in 60 metres after picking off scrum-half Duncan Williams' pass from a line-out for Scarlets' second try of the game and which Thomas converted.
For much of the rest of the half the Scarlets were under the cosh and they were put under further pressure when Josh Turnbull was sin-binned for a careless use of the boot.
Van den Heever thought he had scored a second try on 68 minutes but it was disallowed for an earlier knock-on by Williams at a ruck and Scarlets survived a scrappy final 10 minutes to claim victory.
Scarlets: Jordan Williams, Kristian Phillips, Jonathan Davies, Olly Barkley, Frazier Climo, Aled Thomas, Gareth Davies, Phil John, Emyr Phillips, Samson Lee, George Earle, Johan Snyman, Josh Turnbull, John Barclay, Rob McCusker (c)
Replacements: Kirby Myhill, Rob Evans, Jacobie Adriaanse, Richard Kelly, Sione Timani, Rhodri Williams, Gareth Maule, Adam Warren
Munster: Simon Zebo; Gerhard van den Heever, Casey Laulala, Denis Hurley, Johne Murphy; Ian Keatley, Duncan Williams; Dave Kilcoyne, Duncan Casey, Stephen Archer; Donncha O'Callaghan, Donnacha Ryan; CJ Stander, Tommy O'Donnell, James Coughlan(Capt).
Replacements: Ger Slattery, James Cronin, BJ Botha, Dave Foley, Sean Dougall, Gerry Hurley, JJ Hanrahan, Ronan O'Mahony.
Referee: Dudley Phillips (IRFU)
Assistant Referees: Wayne Davies, Rhys Thomas (both WRU)
Citing Commissioner: Gwyn Bowden (WRU)
TMO: Tim Hayes (WRU)