The Scots had by far the bulk of possession - but it was the Ravenhill men who took their chances when it mattered.
The Warriors were still in the hunt going into the last quarter, but two tries in less than two minutes killed off their quest for a seventh home success on the trot.
Glasgow had the better of the early territorial exchanges but could not turn pressure into instant points.
A beautifully-weighted Dan Parks chip set up a line-out five metres from the Ulster line, but the visitors scrambled clear.
Ulster's forwards then snatched a vital turnover in the danger zone after a powerful pack drive by the home troops.
There was a setback for Ulster in the sixth minute when influential scrum-half Isaac Boss was forced off with an injury and replaced by Kieran Campbell.
Warriors kept up the momentum as centre Andy Henderson made a midfield surge, but the good work was wasted when he was penalised for holding on to the ball too long in contact.
A charge-down by prop Justin Va'a paved the way for the next Glasgow raid, however the Ulster defence again managed to survive.
Having repelled the early barrage, Ulster grabbed the lead with their first foray into enemy territory.
Paddy Wallace caught the Glasgow fringe markers on the hop with a burst of pace down the middle.
He was hauled down a few paces short of the target, but expertly popped the ball to hooker Rory Best, who was left with an easy finishing job.
Wallace added the formality of a conversion to the delight of the big travelling support.
The score sparked a series of further attacks, but a combination of spilled passes and brave home defence kept Ulster at bay.
Glasgow came back into the picture, setting up camp on the goal-line. But they were unable to find their way through during a sequence of pick-and-drive ploys.
Winger Thom Evans then pressured Mark Bartholemeusz into touching down behind his own line, but again the Scots could not capitalise.
There was drama in the dying seconds of the half when Tommy Bowe thought he had snapped up Ulster's second touchdown - only for Welsh referee James Jones to rule a forward pass from Matt McCullough.
The frantic pace continued after the restart with the Warriors quickly narrowing the gap thanks to a Dan Parks penalty for offside from dead in front.
It was the spur that Glasgow needed to up the intensity level, but they were still getting no change out of the tight Ulster back ranks.
And Neil Best struck the killer blow midway through the half when he got the vital touch following a concerted pack drive from a line-out.
The Ulster fans were celebrating again two minutes later as Bowe dashed in for try number three to ensure the win. Wallace converted to stretch the lead to 16 points.
Substitute Andy Newman grabbed a late consolation score for Glasgow.
The scorers:
For Glasgow:
Try: Newman
Pen: Parks
For Ulster:
Tries: Best R., Best S., Bowe
Cons: Wallace 2
The Teams:
Glasgow: 15 Colin Gregor, 14 Rory Lamont, 13 Hefin O'Hare, 12 Andy Henderson, 11 Thom Evans, 10 Dan Parks, 9 Graeme Beveridge, 8 Johnnie Beattie, 7 John Barclay, 6 Andrew Wilson, 5 Alastair Kellock (c), 4 Dan Turner, 3 Euan Murray, 2 Fergus Thomson, 1 Justin Va'a.
Replacements: 16 Eric Milligan, 17 Kevin Tkachuk, 18 Andy Newman, 19 James Eddie, 20 Steve Swindall, 21Sam Pinder, 22 Scott Barrow.
Ulster: 15 Mark Bartholomeusz, 14 Tommy Bowe, 13 Andrew Trimble, 12 Kevin Maggs, 11 Paul McKenzie, 10 Paddy Wallace, 9 Isaac Boss, 8 Roger Wilson, 7 Kieron Dawson, 6 Neil Best, 5 Matt McCullough, 4 Justin Harrison, 3 Simon Best (c), 2 Rory Best, 1 Bryan Young.
Replacements: 16 Paul Shields, 17 Justin Fitzpatrick, 18 Tim Barker, 19 Neil McMillan, 20 Kieran Campbell, 21 Adam Larkin, 22 Paul Steinmetz
Referee: James Jones (Wales)
Touch judges: Graeme Hannah, PeterCarruthers (both Scotland)