With both sides having already qualified for the play-offs, the outcome means the two teams meet again in Glasgow.
With a powerful wind behind them Ulster had the better of the first half scoring a maul-over try through flanker Chris Henry, converted by stand-off Ian Humphreys, who added a penalty.
Glasgow were slow into things from the restart but following a wonderful individual try from full-back Stuart Hogg after 56 minutes, three more followed in a 12 minute period through Richie Vernon and a couple from Finn Russell, who converted all three.
Glasgow took advantage from the kick-off to camp in the visitors’ 22 and went ahead in the fifth minute with a penalty from Russell.
Glasgow conceded half a dozen penalties between the 24th and 29th minutes, the last one seeing lock Jonny Gray dispatched to the sin bin.
The Glasgow defence now cracked and Ulster’s pack drove over from a close-in line out with Henry awarded the try, converted by Humphreys.
It then became Ulster’s turn to foul fall of referee Ian Davies with four penalties awarded, the final one allowing Russell to claw back three points.
However Glasgow then offended at the restart with Humphreys landing the penalty that stretched the visitor’s lead at the break to 10-6.
Glasgow were making little of things until Hogg stepped in with a wonder try in the 55th minute to give them the lead.
Not to be out-done Russell produced his own try to score by the posts and then to convert. Six minutes later Russell made it a brace after huge Glasgow pressure and converting. Two minutes later Glasgow had the all-important bonus point when centre Vernon broke a tackle on the Ulster 22 to score with Russell adding the extras.
Hogg, Seymour, Vernon, Horne, S. Lamont, Russell, Matawalu, Grant, Hall, de Klerk, Gray, Kellock, Strauss, Fusaro, Ashe.
Murchie for Hogg (73), Weir for Horne (74), Pyrgos for Matawalu (52), Reid for Grant (52), MacArthur for Hall (52), Cusack for de Klerk (52), Wilson for Fusaro (52), Nakarawa for Kellock (60).
Ludik, Scholes, Arnold, McCloskey, Allen, Humphreys, P. Marshall, Warwick, Herring, R Lutton, Stevenson, van der Merwe, C. Ross, Henry, Diack, Henderson.
Bowe for Allen (10), P Jackson for Humphreys (50), Pienaar for P. Marshall (73), B Ross for R Lutton (60), Henderson for Henry (17), McCall for Henderson (65).