ULSTER remain top of the Pro12 table, but their cushion is now just three points with six games of the regular season to go. Given that Glasgow are playing with an irresistible vigour and flair at the moment, Ulster's procession to the title has suddenly started to look like a bit of a slog.
With Ulster missing seven players on international duty and Glasgow without 12 – plus both sides having a couple of fairly significant performers out injured – this was a serious test of strength in depth.
But the Scots proved they have finally developed a squad which can compete against anyone in Celtic rugby, while Ulster's deputies need to find some of the sense of purpose which has served their frontline players so well in recent months.
Glasgow had a wobble midway through the second half, but apart from that blip they were by far the superior team. The hosts made almost all the running for the first 60 minutes, and were rewarded with three unanswered tries, with Tim Swinson strolling over unchallenged at the end of a long period of superbly controlled build-up play.
Tommy Seymour then touched down after the beguiling Niko Matawalu snaffled the ball from the base of an Ulster scrum and then released his winger with a magical sleight of hand, before Peter Murchie charged down Paddy Wallace and flopped on the loose ball as it crossed the line at the start of the second half.
But Peter Horne missed all three conversions as well as an early penalty, which meant Ulster were able to keep themselves in touch thanks to three Ruan Pienaar penalties. It would have been all square if the South African hadn't missed two other efforts at goal.
On the hour mark Michael Allen led a sweeping Ulster breakout and, after Stuart Olding had already gone close under the posts, it looked for all the world as if Robbie Diack had squeezed over in the left corner for a try which, if converted, would have given Ulster a one-point lead.
But referee Nigel Owens judged that Neil Walsh's pass which sent the big No 8 over was forward.
Ulster understandably felt hard done by, but they harnessed their frustration in the right way. Suddenly it was the visitors who were bossing the game, and there was a sense of inevitability about Olding scooting over six minutes later.
Pienaar missed the conversion, but Ulster had all the momentum. Glasgow seemed to be feeling the pace, with captain Ryan Wilson and hooker Pat MacArthur hobbling off.
However, they managed to summon one last charge, with replacements James Eddie and Sean Kennedy leading the way before Matawalu was on hand to finish off try number four.
Horne missed the easy conversion, and that could still prove crucial in the final reckoning, because it gave Ulster a losing bonus point.
GLASGOW – P Murchie (S Wright 73); T Seymour, M Bennett (G Morrison 58), A Dunbar, D van der Merwe (S Kennedy 48) ; P Horne, N Matawalu; O Fainga'anaku, P MacArthur (F Brown 70), E Kalman (G Mountford 77), T Swinson, T Ryder, J Strauss, J Barclay (J Eddie 62), R Wilson (N Campbell 70).
ULSTER – R Andrew; M Allen (D Cave 41), A Trimble, S Olding, N Walsh; P Wallace (P Marshall 48) R Pienaar; C Black, N Brady (R Herring 48), J Afoa, N McComb, D Tuohy, C Joyce, A Birch (M McCormish 48), R Diack.
REF – N Owens (WRU)