Large parts of the game were controlled by the visitors - who created scores for Dom Waldouck, George Pisi and Ben Foden - but Glasgow responded through Josh Strauss and the outstanding Nikola Matawalu's interception.
The four tries needed to progress were always going to be a tough ask at the home of the second placed side in the Pro12 and that's how it proved, Glasgow landing the killer blow with the final play of a deadlocked game the Saints were chasing.
As they had at the Gardens in October, Glasgow edged into an early lead - a pair of simple penalties converted by Ruaridh Jackson with Saints in at the side and offside chasing a kick ahead.
It was the visitors who were in charge of territory, however, and when Waldouck's deft grubber was gathered by Lee Dickson, Stephen Myler stroked over a subsequent penalty to halve the deficit.
Having ushered the Warriors from side to side with no great threat, when it was the Saints' turn to attack the back three combined, led by a cutting James Wilson line. It was an ominous surge, but with Foden's pass perhaps marginally early to Jamie Elliott, the young winger's effort to ground the ball was ruled out by the TMO.
Persistence was the key for Saints though, who continued to find gaps in the home line - their territory supplemented by some smart kicking in behind. Eventually that pressure told, albeit from an attack that began in Glasgow possession.
Calum Clark did well to seal the ball off for a turnover and after a penalty went to the corner, Saints got a scrappy sequence under control. Cutting against the grain Waldouck again had the unlocking of the Warriors defence and this time the TMO confirmed a try - the centre finding the base of the post to ground and Myler maximising a much needed score.
An almighty let off was quick in following, Sean Maitland tripping just five metres out and with the line beckoning and replacement outside half Scott Wight missing a penalty just moments later.
The hosts were rallying well and after Clark left the field with an arm injury, another pair of threatening moves needed quelling by Foden and Wilson - their cover work enough to see the Saints through to the break.
Once the sides had turned around though, Glasgow did craft the score and much like the Saints it came from a good steal at the breakdown. With the resulting penalty going to the corner, flanker Strauss battled through and over to repeat his scoring antics from Round 1.
A knock on the head saw Lawes join Clark on the sidelines for Saints and again Glasgow went close after a turnover, led by the spritely Matawalu. The scrum-half was also the man to waste the attack though, attempting an optimistic chip close to the line.
A chance then went begging for Saints, Ryan Lamb's cross kick bouncing out of the reach of Elliott but again they regrouped and quick hands to the right allowed Pisi to skip in then out and make a fine finish look all too easy.
It was fast turning into one of those games though and Pisi's fellow Islander Matawalu's finish was the simplest of the lot, the Fijian stealing ball from Foden and cruising for a second home score, now playing from the wing.
It only took five minutes for the full back to atone for his error as the game took another swing - this time back to equilibrium. The excellent Tom Wood nicked a Warriors scrum against head again the movement wide was swift, allowing Foden over in the corner.
Lamb missed with the extras but put Saints close to the Warriors line again with a penalty, but when Alex Waller was yellow carded for a punch, Saints' hopes were all but gone.
Glasgow compounded that misery, first clearing with a penalty and then stealing the win when Peter Horne galloped through a depleted Saints line with a fine solo score.
2mins GLAS Pen Jackson 3-0
11mins GLAS Pen Jackson 6-0
14mins SAINTS Pen Myler 6-3
31mins SAINTS Try Waldouck Con Myler 6-10
36mins GLAS Miss pen Wight
HALF-TIME GLASGOW 6 SAINTS 10
47mins GLAS Try Strauss Con Wight 13-10
59mins SAINTS Try G Pisi 13-15
65mins GLAS Miss Pen Wight
67mins GLAS Try Matawalu Con Wight 20-15
72mins SAINTS Try Foden 20-20
80mins GLAS Try + Con Horne 27-20
FULL-TIME GLAS 27 SAINTS 20