The basis of their fifth straight win came from two tries in the first 30 minutes through prop Ryan Grant and lock Tim Swinson, while Duncan Weir, in his first start of the season, added both conversions and a 62nd-minute penalty.
Scarlets, who earned a losing bonus point, scored four penalties, three for fly-half Rhys Priestland and one from wing Jordan Williams.
Glasgow held on to win despite second-half yellow cards for Sean Lamont and wing Niko Matawalu.
Lions centre Jonathan Davies captained the Scarlets for a second time, while Glasgow made 10 changes from the side that beat Zebre last week, including a first start of the campaign for Matawalu on the right wing.
Glasgow showed the confidence they have gained this season by scoring their first try after only two minutes.
They ignored the chance to kick a penalty in front of the posts with speedy Matawalu taking a tapped penalty resulting in Grant squeezing over for the try, converted by Weir.
The inconsistent Scarlets continued to be on their guard to stop the elusive running of Matawalu.
But they settled into the game when they got on the scoreboard with a Priestland penalty on 17 minutes.
The Scarlets also began getting the upper hand in the scrum but still had no answer to Glasgow's running game which saw lock Swinson muscling his way over for the second try 10 minutes before half-time.
More dominance at the scrum earned the Scarlets a second Priestland penalty as they closed the gap to 14-6 just before the interval.
And the Scarlets dominated the opening exchanges of the second half, earning a penalty within a minute of the restart which Priestland converted to cut the deficit to only five points.
The home side should have had a try three minutes later but wing Jordan Williams passed instead of going for the line himself.
Glasgow were not helped that wing Lamont was sin-binned before Williams closed the gap to two points with his 59th-minute penalty.
However, the Scottish outfit restored a five-point lead via a penalty from Weir, who then missed an attempted a dropped goal, while Matawalu was yellow carded but the Warriors held on to win.