A Guinness PRO14 contest characterised by long passages of possession in each 22 was decided by long-range tries that stemmed from loose possession.
Glasgow benefited first, with Alex Dunbar the scorer and Finn Russell converting and soon adding a penalty.
By the pause Ospreys were rightly level at 10-10 thanks to a well-constructed try for Dan Evans, converted by Sam Davies who also booted a penalty.
Glasgow dominated the second half, scoring tries through Leonardo Sarto, Adam Ashe and Dunbar to gather a bonus point, with all converted by Russell. After 72 minutes there was a long stoppage before Ospreys flanker Olly Cracknell was taken off on a stretcher, having been injured in a tackle on Glasgow’s Nick Grigg.
The hosts enjoyed a strong start to the match but made their breakthrough just as Ospreys were securing their first decent spell of possession. It came after 16 minutes as Dunbar made an interception on halfway and bounded on with strength and pace to score.
Ospreys lost possession soon after the restart allowing Russell to dribble into their 22 from where he kicked a penalty.
However Ospreys went on to have the better of the second quarter to tie the score by the pause. Pressure in the home 22 was finished by full-back Evans cutting clean through. Davies, playing his 100th game for the Welsh club, converted.
More Ospreys pressure saw Glasgow penalised five metres out and pragmatically Davies equalised the scores, choosing the kick.
Glasgow were on top from the start of the second half. Several kickable penalties were turned down and after 53 minutes the tactic of taking a tap paid off, replacement winger Sarto scoring with Russell converting.
Seven minutes later Glasgow’s Ashe intercepted on the Ospreys 10 metres line and finding no one at home touched down under the posts with Russell converting.
Between the scores good work by Ospreys’ Kieron Fonotia let Bradley Davies reach the line but Glasgow held him up.
With three minutes left Dunbar scored the bonus-point try, with Russell adding the extras.