Beaten by a narrow margin, in the end four unconverted tries from the Warriors outshone the efforts from Ulster's Stuart Olding and Ruan Pienaar at the Scotstoun Stadium.
Fifteen minutes in, Tim Swinson scored a try for Glasgow to cancel out a Pienaar penalty. The Scotsmen led 10-6 at half time and the margin even narrowed to 15-14 with ten minutes to go - but it wasn't to be for the Ulstermen.
Mark Anscombe had made a raft of changes in the Ulster starting XV for the clash. Full debuts were handed to Neil Walsh on the wing and Conor Joyce in the back row.
Andrew Trimble and Paddy Wallace lined up in unfamiliar roles - at centre and out-half respectively.
Meanwhile, Callum Black, Nigel Brady, Neil McComb and Ali Birch made rare starts.
Head coach Mark Anscombe said he was left frustrated by the result.
"There's not too much to be positive about," he said. "We have too many guys that are drifting through the season and not accepting the role that they've got to do.
"Our execution was poor at times. We conceded a couple of soft tries; a charge down when we had plenty of time to clear it, a ball taken from the base of the scrum - there's two tries that should never have been scored. It was pretty feeble to be honest."
Ulster remain three points clear at the top of the PRO12 with six matches to go.