Scarlets kept up their Pro12 top four push as fly-half Rhys Priestland's boot helped condemn Glasgow Warriors to their first defeat since September.
Moray Low gave Glasgow an early lead but they were punished when down to 13 men as back rowers Rob Harley and Ryan Wilson were sinbinned before half-time.
Scarlets scrum-half Gareth Davies scored a try while Priestland added the conversion to three earlier penalties.
And the Scarlets held on for their third successive post-Christmas win.
Ruaridh Jackson and Scott Wight, twice, kicked penalties as an under-strength Glasgow team secured a losing bonus point to keep the Scottish side a point ahead of the Scarlets in the Pro12 table.
Glasgow went ahead early on when a Scarlets line-out went loose close to their line and prop Low pounced to score.
Outside-halves Wales international Priestland and Scotland international Jackson swapped penalties, but after kicking his in the 12th minute, Jackson had to be helped off with a hamstring injury.
The 23-year-old's injury will be a worry for Scotland coach Andy Robinson as he .
Priestland kicked two further efforts as the Welsh side went into the lead for the first time.
And Glasgow were dealt a blow in the space of a minute when flanker Harley and number eight Wilson found themselves yellow-carded, for a punch and professional foul respectively, by referee Dudley Phillips.
Then the visitors conceded a converted try deep into injury-time as Davies barged over to give the home side a 16-8 interval lead.
Glasgow showed much more urgency after the break and earned a penalty kicked by Scott Wight on 44 minutes.
The Scarlets brought on the experience of steadying influence Stephen Jones and he made an impact as both Wales stars Jonathan Davies and George North made surges towards the Glasgow line.
But a second try proved elusive as Glasgow cut the deficit to just a point with a second Wight penalty on 70 minutes.
The Scarlets pressured the Glasgow line and thought they had a try but the referee disallowed it for a knock-on leaving the home side pointless in the second half.
Scarlets: Newton; North; S. Williams, J. Davies; Lamont; Priestland, G. Davies; I. Thomas, M. Rees, Manu, Reed, Day, McCusker, J. Edwards, Morgan.
Replacements: S. Jones for Newton (54), Iongi for Lamont (45), R. Williams for G. Davies (45), R. Jones for I. Thomas (58), Owens for M. Rees (58), R. Thomas for Manu (58), Shingler for Day (64), Turnbull for J. Edwards (76).
Glasgow: Murchie; Seymour,; Dewey, Morrison; Lemi; Jackson, Pyrgos; Welsh, Thomson, Low, Verbakel, Ryder, Harley, Fusaro, R. Wilson.
Replacements: Dunbar for Dewey (58), Wight for Jackson (13), McConnell for Pyrgos (77), Reid for Welsh (58), Gillies for Thomson (58), Kalman for Low (28), Forrester for Fusaro (58), Beattie for R. Wilson (58), Beattie for R. Wilson (58).
Referee: Dudley Phillips (RFU).