Fly-half Steven Shingler claimed a personal haul of 23 points to guide the Scarlets to a hard-earned 28-13 Guinness Pro12 victory over Italian side Zebre in miserable conditions at Parc y Scarlets.
The visitors were sensing only a second ever away victory in the competition when they led 13-12 at half-time, but the Scarlets upped their game in the second period thanks to Shingler's boot and a well-taken try from replacement centre Steffan Hughes.
With 18 players absent because of a combination of international calls and injuries, it was a decent effort by a patched-up home side, following up their European victory over Leicester a week earlier.
Head coach Wayne Pivac had been forced into making eight changes to the side that tamed the Tigers in the Champions Cup.
One of those was fly-half Shingler, deputising for Rhys Priestland, who kicked the Scarlets into an early lead after the home eight had won a penalty at a scrum.
The former London Irish number 10 doubled the hosts' advantage shortly after from wide out, only for Zebre to hit back through opposite number Edoardo Padovanni.
With the rain teeming down, it was proving an abrasive contest with handling errors littering the opening quarter.
Padovanni levelled matters from close range before Shingler put his side back in front after a strong attacking Scarlets scrum.
But it was the Italians who claimed the game's first try in bizarre circumstances.
Scrum-half Brendon Leonard attempted an audacious drop goal, which rolled along the turf, but it touched a Scarlet en route to full-back Steffan Evans. The 20-year-old found himself under pressure, had his kick charged down by Valerio Bernabo and the second row did well to chase up and gather the bouncing ball to score.
Padovanni's conversion stretched Zebre's advantage, but Shingler made no mistake with his fourth attempt on 32 minutes which meant there was only one point separating the sides at the break.
The Scarlets moved up the gears early in the second period and their pressure was rewarded with two further penalties from the reliable boot of Shingler.
After another scrum penalty, Irish referee Gary Conway finally lost patience with the visitors with prop Dario Chistolini yellow-carded, but Shingler missed from the tee for the first time on the night.
Scarlets lock George Earle then followed into the sin-bin after pulling down an attacking line-out, but a great steal from Aaron Shingler saved the home side.
The Scarlets then took the lead with a try that owed a lot to the power of the home scrum.
A huge shove had the Zebre pack in all sorts of trouble and with the visitors on the back foot, replacement centre Steffan Hughes hit a great angle to score.
Shingler's conversion made it 25-13, then in the dying minutes Hughes almost claimed a second after a lovely chip through by Shingler.
The fly-half sealed the points with his seventh penalty success late on.