The home side got off to a good start with a penalty after 21 minutes by Peter Horne to take the lead.
But the boot of Paddy Jackson put Ulster 6-3 ahead at half-time, and the Irish side took charge of the game on the hour mark with a try scored by Chris Henry.
Jackson converted, then landed two more penalties to put the game beyond doubt, with Glasgow scoring a late consolation try through Nikola Leka Matawalu.
At Stade Ernest-Wallon Castres edged a tight match against Northampton 21-16.
The home side raced into a 10-0 lead with a try from Paul Bonnefond after just eight minutes, Romain Teulet converting then adding a penalty six minutes later.
The Saints went on to trail 13-6 at half-time, with Stephen Myler landing two penalties against one more for Castres from Rory Kockott.
And the hosts went further ahead 12 minutes into the second half as Antoine Claassen scored a second try.
Northampton hit back, however, George Pisi scoring on the hour mark and Myler converting, but when Remy Tales landed a drop goal almost immediately after the restart Castres were back on top once again, with a late penalty from Myler rescuing a losing bonus point for the Premiership side.