The victory could have been even more comfortable had Ruaridh Jackson not missed a pair of penalties against an Ospreys side who never managed to build on Hanno Dirksen's early try.
Late yellow cards for Glasgow duo Johnnie Beattie and Al Kellock allowed Ospreys to rally through a Kahn Fotuali'I score but it was too little too late.
Moments after Chris Fusaro produced a try-saving tackle, Glasgow Warriors took the lead when a late tackle by Joe Bearman allowed Jackson to slot a 13th minute penalty.
The Ospreys were unbeaten in their last eight home games and roared back to take the lead when Dirksen burst through a soft tackle from David Lemi to create a try from nothing.
Dan Biggar slotted the extras from in front of the post but the lead lasted less than two minutes as Glasgow brought their forward pressure to bear.
After a penalty near the halfway line, Jackson produced a superb kick to the corner and from the lineout Glasgow drove Welsh over the line.
Jackson converted and the Warriors edged further ahead when an Alex Dunbar burst broke the Ospreys line and ended with a yellow card for Tom Smith and three more points for Jackson.
A man light, the Ospreys were always vulnerable and 60 seconds before Smith returned more good work from Dunbar allowed Shaw to cross the whitewash for a second score and Jackson again slotted the extras.
Biggar kicked his first penalty of the game on 38 minutes to take his points total to five but the Welsh side were left with plenty to do at the interval.
The Ospreys refused to panic though and when Tom Ryder was penalised, Biggar kicked another long-distance penalty to put the Ospreys within a converted score.
In response Jackson spurned a similar chance before making no mistake with an easier kick to put the two sides back where they were.
Jackson, looking to force his way back into the Scotland side following injury, was struggling with his radar and missed another chance to take Glasgow further ahead just before the hour mark.
Appearing in the RaboDirect PRO12 for the first time in two months, Kellock was taken out at the lineout on with 15 minutes to go and after Ryan Bevington was sent to the sin bin Jackson kicked the resulting penalty.
Glasgow looked to be coasting to victory but after picking himself up and dusting himself down, Kellock was sent to the bin soon after.
The Scots' cause was weakened further when Beattie was shown the yellow card for a dangerous tackle on Dirksen and with a two-man advantage Ospreys plundered a try through Fotuali'i' and Biggar converted but they failed to overhaul their opponents.
|Ospreys Score Card|
|Glasgow Warriors Score Card|