Nikola Matawalu ran in the game's only try as Glasgow Warriors made heavy weather of seeing off Scarlets at a soggy Scotstoun.
The Fijian winger sliced through the visiting defence on 31 minutes following a five metre scrum.
Duncan Weir kicked the rest of the home side's points as several scoring opportunities were spurned.
Scarlets defended stoutly but posed little threat in attack, with Olly Barkley knocking over two penalties.
The visitors were aiming to close the gap on the fifth-placed Warriors in the Pro12 but never looked like causing an upset.
And the Warriors, who have games in hand over all of their top-of-the-table rivals, remain in the mix for a play-off place.
Weir first split the posts on eight minutes and elected to kick another close-range penalty to touch soon after, making a clear statement of intent.
However, the bold move backfired, with the hosts penalised for an accidental offside from the resulting line-out.
A sharp break from Matawalu found Richie Vernon out on the right wing but the centre slipped as he kicked ahead with the try-line in sight.
Weir doubled the lead with another straightforward penalty before Barkley halved the deficit.
More Glasgow pressure saw Weir kicking for touch again rather than taking three easy points as this time the decision paid off, eventually.
Chris Fusaro was held up short of the line in a tangle of bodies but from the scrummage that followed Matawalu demonstrated electric speed to weave his way through a cluster of red shirts to touch down, with Weir missing the extras.
The first half closed with another Glasgow line-out in the scoring zone but the ball was lost from the throw-in as Scarlets battled to stay in touch.
The opening 15 minutes of the second half were extremely scrappy as Glasgow briefly lost their stranglehold on the match, with Weir and Barkley exchanging penalties.
Chris Cusiter brought the home crowd to life with a jinking run but Matawalu could not hold on to the scrum-half's offload before home replacement Mark Bennett was a long way off target with a penalty attempt.
On the hour, Glasgow were camped within 10 yards of the try-line. Wave after wave of bulldozing attacks were repelled before the ball was spilled.
Vernon immediately won it back with an intercept but Scarlets held firm after more staunch defensive work and another close-range penalty to touch went awry for Townsend's men.
With the rain hammering down in the final 10 minutes, the pattern of play remained the same, with Glasgow probing for openings but coming up short.
Cusiter was penalised for a deliberate knock-on as Scarlets made a rare appearance in the opposition half but Aled Thomas failed with his penalty, leaving Glasgow to see out the closing stages without any fuss.
Glasgow Warriors: Peter Murchie, Tommy Seymour, Richie Vernon, Alex Dunbar, Niko Matawalu, Duncan Weir, Chris Cusiter (capt), Gordon Reid, Dougie Hall, Jon Welsh, Tim Swinson, Jonny Gray, Rob Harley, Chris Fusaro, Josh Strauss.
Replacements: Fraser Brown, Jerry Yanuyanutawa, Moray Low, Al Kellock, Leone Nakarawa, Ruaridh Jackson, Mark Bennett, Sean Maitland.
Scarlets: Liam Williams; Kristian Phillips, Jonathan Davies (capt), Olly Barkley, Jordan Williams; Aled Thomas, Gareth Davies; Phil John, Ken Owens, Samson Lee, George Earle, Johan Snyman, Josh Turnbull, Sione Timani, John Barclay.
Replacements: Emyr Phillips, Rob Evans, Rhodri Jones, Jake Ball, Richard Kelly, Rhodri Williams, Adam Warren, Gareth Maule.
Referee: Alain Rolland (IRFU)
Assistant Referees: Lloyd Linton, David Changleng (both SRU)
Citing Commissioner: John Montgomery (SRU)
TMO: Jim Yuille (SRU)