Scarlets (3) 21
Tries: Maule, Priestland Con: Priestland Pens: Priestland 3
Dragons (10) 15
Tries: W Evans, Brew Con: Tovey Pen: Tovey
Rhys Priestland dives over for the Scarlets' second try
Scarlets bounced back from their Ospreys thrashing to climb up to second in the Magners League with a hard-fought win over the Dragons.
Rhys Priestland scored 16 of the points including one try, with Gareth Maule claiming the other.
Wayne Evans and Aled Brew grabbed both the Dragons tries in a bad-tempered game which saw three players sin-binned.
Brew, Gavin Thomas and Scarlets' Jonathan Davies were all yellow-carded.
The Scarlets were desperate to recover from their 60-17 hammering at the Liberty Stadium on Monday and coach Nigel Davies made key changes by bringing in number eight David Lyons and scrum-half Tavis Knoyle, as well as giving centre Jonathan Davies his first start since he returned from an ankle injury.
But the Scarlets found themselves 10-3 down at half-time despite the Dragons having Brew in the sin-bin.
The match had been locked at 3-3 since the 17th minute after Priestland and Jason Tovey had exchanged penalties during the first quarter.
Despite the Dragons having the better of territory the Scarlets missed out on chances to take the lead.
Priestland made a hash of two penalty goal attempts and a try was ruled out by the television match official after full-back Dan Newton was held up over the line by Dragons wing Adam Hughes.
The Scarlets hopes of going in at half-time with a lead increased when Brew saw yellow for kicking out at Gareth Maule.
But it was a show and go by Evans that produced the game's opening try deep in first-half injury time for the Gwent side.
The scrum-half's break sent Tovey down the wing and he put in a neat little cross kick to send Evans over by the posts.
It took just 64 seconds for the home side to level the scores after the break when Maule crossed after good work by Davies after the Dragons failed to secure the kick-off.
There was more misery for the visitors when they lost influential back-rower Thomas to the sin-bin for persistent infringements at the breakdown.
That allowed Priestland to kick a penalty which put the Scarlets in the lead for the first time on 46 minutes.
But if the Scarlets thought they were going to continue to put the squeeze on the Dragons they were mistaken, and they lost a man of their own when they had centre Davies sin-binned on 64 minutes.
However, the Dragons missed a golden opportunity to draw level on 71 minutes when Tovey was wayward with a straightforward penalty attempt much to the delight of the home crowd.
And the Scarlets made the most of the error as Priestland raced over for the Scarlets' second try after good work by replacement centre Regan King and Davies.
As the match entered injury time Brew cut the deficit to three points with a try after a kick ahead by Tovey, but there was still time for a third Priestland penalty to seal the home side's success.
Scarlets: Dan Newton; Morgan Stoddart, Gareth Maule, Jon Davies, Sean Lamont; Rhys Priestland, Tavis Knoyle; Iestyn Thomas, Matthew Rees (capt), Phil John, Vernon Cooper, Jonny Fa'amatuainu, Rob McCusker, Josh Turnbull, David Lyons.
Replacements: Ken Owens, Rhodri Jones, Simon Gardiner, Damian Welch, Ben Morgan, Martin Roberts, Regan King, Lee Williams.
Dragons: Will Harries; Adam Hughes, Tom Riley, Ashley Smith, Aled Brew; Jason Tovey, Wayne Evans; Hugh Gustafson, Tom Willis (capt), Ben Castle, Luke Charteris, Scott Morgan, Dan Lydiate, Gavin Thomas, Toby Faletau.
Replacements: Steve Jones, Pat Palmer, Phil Price, Adam Jones, Lewis Evans, Patrick Leach, Jonathan Evans, Matthew Jones.
Referee: Tim Hayes (WRU).