Ruan Pienaar scored all of Ulster's points - including a try and the winning last-minute penalty - as they beat Glasgow 22-19 at Firhill in the Magners League on Friday.
The hosts had opened up a seven point lead with a quarter-of-an-hour left but a converted try and then a penalty from Pienaar saw the away side go ahead.
But substitute Glasgow fly-half Duncan Weir held his nerve to draw Glasgow level with two minutes left, before the Bok kicked the last of his 22 points.
Having emerged victorious in the Magners League for the first time this year against Treviso, Glasgow were looking to build on that win and forged ahead when Ruaridh Jackson scored an early penalty.
However, Ulster responded when Pienaar kicked them level after 13 minutes.
The fly-half then put the Irish side into the lead for first time when he slotted another three points before extending that advantage with a further penalty to leave them 9-3 ahead at the break.
However, Glasgow started the second-half with the better intensity and was rewarded when Jackson put another three points of the board.
Buoyed by their resurgence, the Scottish side also struck next when back-row Ryan Grant went over for a converted try.
Ulster's misery was compounded when hooker Rory Best was sin-binned and Jackson kicked the resultant penalty.
But the Irish side hit back with 10 minutes to go as Pienaar touched down and then converted his own try to bring them back level.
Back-row Richie Vernon was then yellow carded and Ulster took advantage when their South African stand-off kicked a penalty.
Weir levelled but Pienaar had the last say.
Pens: Jackson 3, Weir
Pens: Pienaar 5
Yellow card: Best (Ulster - 63rd min)
Glasgow: 15 Bernardo Stortoni, 14 DTH van der Merwe, 13 Federico Aramburu, 12 Peter Murchie, 11 Alex Dunbar, 10 Ruaridh Jackson, 9 Colin Gregor (c), 8 Richie Vernon, 7 Ryan Wilson, 6 James Eddie, 5 Robert Harley, 4 Aly Muldowney, 3 Moray Low, 2 Fergus Thomson, 1 Jon Welsh.
Replacements: 16 Pat MacArthur, 17 Kevin Tkachuk, 18 Ryan Grant, 19 Chris Fusaro, 20 Johnnie Beattie, 21 Henry Pyrgos, 22 Duncan Weir, 23 Hefin O'Hare.
Ulster: 15 Simon Danielli, 14 Conor Gaston, 13 Nevin Spence, 12 Paddy Wallace, 11 Craig Gilroy, 10 Ruan Pienaar, 9 Paul Marshall, 8 Pedrie Wannenburg, 7 Chris Henry, 6 Robbie Diack,5 Dan Tuohy, 4 Johann Muller (c), 3 Declan Fitzpatrick, 2 Andi Kyriacou, 1 Tom Court.
Replacements: 16 Rory Best, 17 Paddy McAllister, 18 Bryan Young, 19 Tim Barker, 20 Willie Faloon, 21 Ian Whitten, 22 Tommy Seymour, 23 Adam D'Arcy.
Referee: David Jones (Wales)
Assistant referees: Graham Knox (Scotland), Bob Nevins (Scotland)
Television match official: Iain Ramage (Scotland)