Glasgow maintained the only 100% record in the Pro12 with a workman-like win at Parc y Scarlets.
First half tries by prop Ryan Grant and second row Tim Swinson were both converted by Duncan Weir who also kicked a penalty.
Rhys Priestland kicked three penalties for the Scarlets, with a fourth coming from wing Jordan Williams.
Glasgow were twice reduced to 14-men in the second half, but held on to move back to the top of the table.
Glasgow came into the match as the last remaining unbeaten team in the tournament following Ulster's defeat of Ospreys on Friday evening.
And with Niko Matawalu and Sean Lamont running powerfully behind an efficient pack, they looked much the better team in a strong first half performance.
Glasgow showed their intent in the third minute as a quickly taken penalty caught the Scarlets defence dozing, with prop Ryan Grant claiming the touchdown from close range.
Weir added the extra points, but it was the Scarlets who claimed the next score when Priestland kicked a straightforward penalty.
Glasgow produced the more fluent rugby, looking well-organised around the fringes and purposeful out wide.
For their, part the Scarlets established an edge in the scrums without really threatening to score a try.
And it was Glasgow's attacking around the fringes of the breakdown which yielded points as second row Tim Swinson twisted over for his side's second try, with Weir again converting.
Priestland's second penalty kept the Scarlets in touch at half time.
And there was more good news for the Welsh region as Priestland was on target again within a minute of the re-start.
That early boost rejuvenated the Scarlets, who attacked with new-found precision and purpose and should have scored a try when wing Jordan Williams inexplicably passed to Liam Willams when it would have been for him to cross for a try himself.
As it turned out, the full-back was tackled and the chance passed.
And even when Glasgow were down to 14 men following a yellow card for Sean Lamont, the Scarlets could manage only a penalty by Jordan Williams - though that did them back to within two points of the visitors.
Weir's first penalty on the hour steadied Glasgow after a torrid third quarter.
And it took a superb tackle on the charging Lamont by scrum half Rhodri Williams to deny Glasgow a try.
But with the visitors apparently coasting to victory, the game took another turn as Matawalu - having moved from wing to scrum half - was yellow carded for a stamp at a ruck with six minutes remaining.
Jordan Williams missed the penalty, and with that the hopes of a dramatic home win disappeared.
Scarlets: Liam Williams; Nick Reynolds, Jonathan Davies (capt), Gareth Maule, Jordan Williams; Rhys Priestland, Rhodri Williams; Phil John, Ken Owens, Jacobie Adriaanse, George Earle, Joe Snyman, Josh Turnbull, John Barclay, Rob McCusker.
Replacements: Emyr Phillips, Rob Evans, Rhodri Jones, Jake Ball, Aaron Shingler, Aled Davies, Steve Shingler, Adam Warren.
Glasgow: Sean Maitland, Niko Matawalu, Mark Bennett, Alex Dunbar, Sean Lamont, Duncan Weir, Chris Cusiter, Ryan Grant, Pat MacArthur, Moray Low, Tim Swinson, Al Kellock (captain), Robert Harley, Chris Fusaro, Richie Vernon.
Replacements: Fraser Brown, Jerry Yanuyanutawa, Jon Welsh, James Eddie, Adam Ashe, Scott Wight, Gabriel Ascarate, DTH van der Merwe.
Referee: Giuseppe Vivarini (Italy)
Assistant Referees: Chris Williams, Phil Fear (both WRU)
Citing Commissioner: Ray Wilton (WRU)
TMO: Tim Hayes (WRU)