Another triumph next week against Castres will secure a home quarter-final for Mark Anscombe's side.
A first-half try from Nick Williams along with late second-half scores by Jared Payne and Darren Cave secured the four points and with Northampton beating Castres, Ulster progressed after a scrappy game played in difficult conditions at Ravenhill.
The match left the injury-hit Warriors – who were unable to have two prop replacements on their bench – without a win in Europe's premier competition.
Despite fears that the ongoing flag protests in Northern Ireland would impact on the attendance, a chilly and sodden Ravenhill was still packed to the rafters. The hosts opened the scoring after six minutes when the prolific Ruan Pienaar slotted a penalty after Moray Low was off his feet at the breakdown.
Ulster almost extended their advantage when Nick Williams turned a ball over in Glasgow's 22 and Paddy Jackson put a teasing ball in for Andrew Trimble, making his 150th appearance, only for the Warriors to clear to touch near their line. The reprieve proved temporary, though, as Ulster drove for the line and Williams careered through Rob Harley to score with the TMO being asked to make the final call on the score. Pienaar converted and Ulster were 10-0 to the good.
Pienaar was then wide with his second penalty attempt on the half-hour mark and Duncan Weir's effort from just inside Ulster's half on 35 minutes – their first bid for points – fell under the bar.
Trimble's late hit on Henry Pyrgos gave Weir another chance from closer range but again the Warriors fly-half was off target and the half ended with Ulster leading 10-0.
Weir finally found his sights eight minutes into the second half after Pienaar was sacked at a ruck. Then matters took a turn for the worse for Ulster when Iain Henderson was yellow carded for not rolling away and the home side were down to 14 men on 54 minutes. The Warriors struck quickly with Weir slotting a second penalty after Ulster were caught offside.
But Glasgow could take no further advantage and a drive from Williams and Trimble helped set up Pienaar to make it 13-6 just as Henderson returned.
After putting Glasgow's scrum under huge pressure, Ulster opted to kick a 65th-minute penalty but Pienaar was wide. Yet, it mattered not. Ulster sealed victory when Payne crashed over in the 73rd minute after good approach work from Henderson and Pienaar's conversion rebounded out off the post.
Ulster were not finished, though, and Cave slid over for a third unconverted try with time running out.