Glasgow (6) 19 Try: Evans Con: Gregor Pens: Gregor (2), Parks (2) Ulster (20) 20 Tries: Pollock, Danielli Cons: Schifcofske (2) Pens: Schifcofske (2)
Ulster's David Pollock drives to score despite the efforts of John Barclay
Dan Parks missed a penalty with the last kick of the game to allow Ulster to record only their second away win of the Magners League campaign.
Ulster had led 20-6 at half-time thanks to two quick tries from David Pollock and Simon Danielli.
A try from Tom Evans early in the second half gave Glasgow real hope.
Parks landed his second penalty of the game to cut the deficit to a single point but then missed the crucial kick deep into stoppage-time.
The result takes Ulster up to sixth place, just one point behind Glasgow.
The opening exchanges were jittery with both sides guilty of basic errors.
Niall O'Connor missed an early penalty opportunity for the visitors, with Colin Gregor doing likewise at the other end.
Gregor made quick amends by slotting an angled effort to put Glasgow in front but full-back Clint Schifcofske took over the kicking duties for Ulster and was immediately on target to level at 3-3.
The penalty exchanges continued as Ulster's Ryan Caldwell was warned for killing the ball and Gregor confidently banged over his second effort.
Schifcofske again levelled the issue - in somewhat controversial circumstances.
The offence took place inside the Ulster half but scrum-half Paul Marshall cheekily stole 10 metres behind the referee's back to make sure it was within range of his marksman.
There was a further setback for Glasgow when tight-head prop Moray Low was yellow-carded for a professional foul.
Ulster made the most of their extra man with two tries in two minutes.
Flanker David Pollock plunged over in the wake of fine link-work by Marshall and Robbie Diack.
Then Scotland winger Simon Danielli scorched in for a second Ulster touchdown and Schifcofske converted again to open up a 14-point gap.
Glasgow needed to do something quickly after the restart and Thom Evans obliged by shrugging off some tame challenges to score in the corner.
Gregor's conversion was from the widest possible angle, but he made it look easy.
When substitute Parks clipped over another three points the contest seemed to have swung in Glasgow's favour.
The home side piled on the pressure going into the crucial final stages and Parks narrowed the gap to a single point.
But he missed a last-gasp effort to complete a night of Warriors misery.
Glasgow: Gregor, Faatau, M. Evans, Morrison, T. Evans, Jackson, McMillan, Tckachuk, Hall, Low, Barker, Kellock, Eddie, Barclay, Brown. Replacements: Thomson, Turner, Forrester, Parks, Henderson, Stortoni, Va'a. Ulster: Schifcofske, Danielli, Whitten, Wallace, Trimble, O'Connor, Marshall, Young, Best, Botha, Del Fava, Caldwell, Ferris, Pollock, Diack. Replacements: Brady, Roache, McCullough, Henry, Boss, Cave, Humphreys.
Referee: G Morris (Wales)