|Ulster (15) 29|
|Tries: Gilroy, Bowe Pens: Humphreys 5 Cons: Humphreys 2|
|Glasgow (6) 9|
|Pens: Russell 3|
Ulster moved to within a point of Pro12 leaders Glasgow by convincingly beating Gregor Townsend's previously unbeaten side at the Kingspan Stadium.
Five Ian Humphreys penalties to two from Finn Russell saw the hosts lead 15-6 at half-time, and Russell added another shortly after the interval.
Craig Gilroy made a searing angled run through the Glasgow defence to score a fine try, with Humphreys converting.
Tommy Bowe then touched down under the posts, Humphreys again converting.
The victory sees the Irish province move back up to third in the table and will give them confidence ahead of next week's European Champions clash with Leicester Tigers.
Fly-halves Humphreys and Russell traded penalties in the first half, with Ulster's superiority in the set-piece helping them to a nine-point advantage at the break.
Prior to Glasgow's second successful penalty, the Television Match Official (TMO) was consulted over a mid-air collision between Louis Ludik and Tommy Seymour, which left full-back Ludik needing attention, but no penalty was awarded.
Glasgow, who had won each of their opening five games, were forced to spend the latter stages of the opening period without Leone Nakarawa, who was shown a yellow card for intercepting a Paul Marshall pass in a blatantly offside position.
Stuart McCloskey picked up the loose ball, made the break and fed Jared Payne, who in turn found Marshall, with Nakarawa infringing after the scrum-half's offload.
Ulster lost Ireland winger Andrew Trimble to an injury with six minutes of the first half remaining, a concern ahead of next week's trip to Welford Road.
But despite his absence, Ulster continued to breach the Glasgow defence, Bowe knocking on with the line beckoning and Payne almost scoring an unlikely try.
In the 59th minute, after another notable break from McCloskey, Humphreys put a ball into the corner which hit the flag and bounced into the in-goal area only for Payne to dive on it.
The call went upstairs to the TMO but the ball had just rolled out.
Humphreys was wide with a drop-goal attempt, and then visiting centre Mark Bennett was carried off after receiving lengthy treatment.
Gilroy produced a perfectly-timed run to meet Marshall's pass and touch down in the corner in the 66th minute, Humphreys landing the touchline conversion.
Four minutes later Bowe was on hand to pick up the loose ball after Euan Murray's pass went astray and the Lions winger sprinted in under the posts for an intercept try, leaving Humphreys to knock over an easy two points.
Ulster head coach Neil Doak:
"Our performance was outstanding - we've had a little bit of an upheaval regarding the coaching positions lately but we are more than happy with this result.
"We knew it was going to be tough, but we stuck in there and the forwards gave us the platform we needed."
Ulster: Louis Ludik, Andrew Trimble, Jared Payne, Stuart McCloskey, Tommy Bowe, Ian Humphreys, Paul Marshall, Andrew Warwick, Rory Best (captain), Wiehahn Herbst, Alan O'Connor, Franco van der Merwe, Robbie Diack, Chris Henry, Nick Williams. Replacements: Rob Herring, Callum Black, Bronson Ross, Lewis Stevenson, Roger Wilson, Michael Heaney, Stuart Olding, Craig Gilroy.
Glasgow Warriors: Peter Murchie, Sean Maitland, Mark Bennett, Peter Horne, Tommy Seymour, Finn Russell, Henry Pyrgos, Gordon Reid, Fraser Brown, Euan Murray, Tim Swinson, Leone Nakarawa, Rob Harley, Chris Fusaro, Josh Strauss (captain). Replacements: Dougie Hall, Jerry Yanuyanutawa, Zander Fagerson, Jonny Gray, Adam Ashe, Niko Matawalu, James Downey, Sean Lamont.
Referee: Nigel Owens (Wales).