Glasgow fought back from 16-6 down for a gutsy three-tries-to-one win in the Pro12 in Swansea.
After Ruaridh Jackson's early penalty home wing Jeff Hassler scored a stunning try.
Sam Davies added the rest of the hosts' points with a conversion, two penalties and a drop-goal.
But tries by Chris Cusiter, DTH van der Merwe and Ryan Wilson, to which Jackson added two conversions and Stuart Hogg a penalty, secured the away win.
The hosts went into the encounter without 17 players who were either on international duty with Wales or injured whereas Glasgow were able to call on their Scottish stars.
And with Sam Davies making his first Pro12 start at fly-half, the home side would have been forgiven for the visitors' strong start.
Glasgow, with seven recalled internationals, were slick and purposeful as they confidently dominated the opening exchanges.
Fly-half Ruaridh Jackson rewarded the visitors with an early penalty, but they fell behind as the Ospreys took the lead against the run of play.
Tom Isaac's powerful hand-off dealt with opposite number Mark Bennett's challenge and the home centre drew full-back Stuart Hogg's attention before giving Hassler the scoring run.
Davies converted left-footed and added a 35-metre drop-goal after Jackson's second penalty.
Former Wales Under-20 pivot Davies ensured a 13-6 Ospreys half-time lead and stretched it further in the 54th minute.
But as the home side's forwards piled more pressure on to the visitors' defence, the ball was spilled and Glasgow's response was superb.
Centre Sean Lamont broke free from inside their 22 and his one-handed flick sent scrum-half Cusiter away.
Jackson was unable to convert, but the try perked up Glasgow's efforts only for Lamont to depart on a stretcher with suspected ankle damage from a heavy tackle.
Hogg eased the blow of losing Lamont with a long-range penalty.
And with the visiting pack's power paying off at the scrum, home hooker Scott Baldwin was sin-binned by Irish referee Dudley Phillips early in the final quarter.
Glasgow took advantage as a drive to the line ended with wing Van der Merwe spotting a narrow gap at the corner to defy full-back Richard Fussell's attempted tackle.
Jackson converted to give his side a 21-16 lead with 12 minutes remaining.
And after seeing off a desperate home attempt to reclaim the lead, another Glasgow counter-attack ended with back-row replacement Wilson powering over and Jackson converting.
Ospreys: Richard Fussell; Hanno Dirksen, Tom Isaacs, Ben John, Jeff Hassler; Sam Davies, Tito Tebaldi; Duncan Jones (capt), Scott Baldwin, Aaron Jarvis, Lloyd Peers, James King, Tyler Ardron, Morgan Allen, Sam Lewis.
Replacements: Matthew Morgan for Fussell (75), Rhys Webb for Tebaldi (69), Marc Thomas for Duncan Jones (69), Dan Suter for Jarvis (55), Knoop for Peers (38).
Not Used: Dwyer, Ellis, Natoga.
Sin Bin: Baldwin (65).
Glasgow: Stuart Hogg, Tommy Seymour, Mark Bennett, Sean Lamont, DTH Van der Merwe, Ruaridh Jackson, Chris Cusiter; Ryan Grant, Pat MacArthur, Ed Kalman, Jonny Gray, Al Kellock (capt) Rob Harley, Tyrone Holmes, Josh Strauss.
Replacements: Finn Russell for S. Lamont (60), Reid for Grant (78), Dougie Hall for MacArthur (55), Jon Welsh for Kalman (55), Tom Ryder for Kellock (55), Ryan Wilson for Harley (55), James Eddie for Strauss (65).
Not Used: Pyrgos.
Referee: Dudley Phillips (IRFU, 38th competition game)
Assistant Referees: Neil Hennessy, Sean Brickell (both WRU)
Citing Commissioner: Ray Wilton (WRU)
TMO: Derek Bevan (WRU)