Glasgow continued their impressive recent form as they came from behind to beat Ulster 27-14 in a vital PRO12 victory that denied their visitors a losing bonus-point.
A double whammy of second-half tries saw Glasgow deservedly put Ulster to the sword at Scotstoun.
Stuart Hogg excelled for the Scottish club as Gregor Townsend's men showed the attacking fluency we've become accustomed to.
Ulster actually started better, with an early Iain Henderson try that was followed by a Stuart McCloskey score at the beginning of the second-half.
However, when Hogg's 58 minute effort was complemented by a Tommy Seymour try three minutes later, all the momentum was with the defending champions.
Finn Russell also put in a man-of-the-match performance, slotting four penalties and a conversion in an impressive display.
And when Hogg slotted an 80 minute penalty of his own, the Irishmen were denied the comfort of a losing bonus point. The Belfast side now face a struggle to reach the top four, but Glasgow look in fine form to retain their title.
Ulster made a lightning start to the game, laying siege to the Warriors' line from the kick off. And the visitors seemed to have snuck over in the first minute, but Glasgow killed the ball a couple of yards from the line. Hogg was sent to the sin-bin for his troubles.
The respite was short lived, though, as Ulster duly scored on four minutes. The visitors secured quick ball in the Warriors' 22 and a lovely inside ball from Stuart Olding put the returning Henderson under the posts, with Paddy Jackson converting.
The defending champions recovered well and survived Hogg's spell on the sidelines without conceding any more points.
The Scottish club dominated possession in the next phase of the game, with Leone Nakarawa carrying ferociously. The sustained pressure eventually told on 23 minutes when Russell nailed a penalty after Ireland winger Craig Gilroy had been caught offside. The Scottish fly-half doubled Glasgow's tally on 29 minutes with an even easier kick.
Ulster's defence was commanding throughout the first period, however, and the Warriors, despite territorial dominance, struggled to breach the Ulster rear guard. As it was, the Irishmen struck next as Jackson nailed a superb 30 metre penalty to give his side a 10-6 lead.
Infuriatingly for the visitors, they conceded a few minutes later as Russell landed another immaculate penalty to reduce the gap to a point. It proved to be the final act of an entertaining half.
Ulster started the second period in sterling fashion. Ruan Pienaar launched a speculative kick down the tram lines, but it eluded everyone and drifted into touch five metres from the Glasgow line. With the Glasgow defence napping, Gilroy took a quick lineout, and nobody from the Warriors was home to stop McCloskey grabbing the second try. His opportunistic effort was converted by Jackson to make it 17-9.
The visitors discipline continued to let them down, however, and Russell had a great chance to reduce the deficit with a 56 minute penalty. Fortunately for Ulster, the Glasgow fly-half was off target with his kick.
Typically it was Glasgow's star man who got them back in the game. Hogg took the ball at pace on 58 minutes and chipped downfield. With the Ulster defence retreating, Hogg gathered his own kick and touched down. Russell missed the conversion to leave it 17-14.
Worse was to come for Ulster. Barely three minutes later, Seymour broke away down the right flank to powerfully score in the corner. Russell converted to put the Warriors 21-17 ahead.
And the fly-half extended Glasgow's lead to seven points on 73 minutes when he slotted another penalty when Robbie Diack infringed following an Alex Dunbar surge.
The metronomic Russell missed a 77 minute effort, but the game was long since won as the Warriors held on for a vital win, with Hogg's late long-range penalty the final nail in Ulster's coffin.
Tries: Hogg, Seymour
Pen: Russell 4, Hogg
Tries: Henderson, McCloskey
Con: Jackson 2
Glasgow Warriors: 15 Stuart Hogg, 14 Tommy Seymour, 13 Mark Bennett, 12 Alex Dunbar, 11 Sean Lamont, 10 Finn Russell, 9 Henry Pyrgos, 8 Josh Strauss, 7 Chris Fusaro, 6 Rob Harley, 5 Leone Nakarawa, 4 Jonny Gray (c), 3 Sila Puafisi, 2 Fraser Brown, 1 Gordon Reid
Replacements: 16 James Malcolm, 17 Jerry Yanuyanutawa, 18 Zander Fagerson, 19 Tim Swinson, 20 Ryan Wilson, 21 Grayson Hart, 22 Duncan Weir, 23 Taqele Naiyaravoro
Ulster: 15 Stuart Olding, 14 Craig Gilroy, 13 Luke Marshall, 12 Stuart McCloskey, 11 Rory Scholes, 10 Paddy Jackson, 9 Ruan Pienaar, 8 Nick Williams, 7 Chris Henry, 6 Iain Henderson, 5 Franco van der Merwe, 4 Alan O'Connor, 3 Ricky Lutton, 2 Rob Herring (c), 1 Callum Black
Replacements: 16 John Andrew, 17 Kyle McCall, 18 Andy Warwick, 19 Robbie Diack, 20 Sean Reidy, 21 Paul Marshall, 22 Sam Windsor, 23 Darren Cave
Referee: John Lacey (Ireland)
Assistant Referees: Graeme Wells, Cammy Rudkin (both SRU)
TMO: Neil Paterson (SRU)
by Rory McGimpsey