Glasgow won the battle of the Pro12's winless duo to consign reigning champions the Ospreys to a third successive defeat.
Visiting wing DTH van der Merwe scored two tries and flanker Chris Fusaro also went over.
Lock Ian Evans went over as the stuttering hosts launched a mini post-break fightback.
However, Glasgow's win was marred by a first-half shoulder injury to Scotland scrum-half Chris Cusiter.
The rot began for the Ospreys in the third minute when van der Merwe took full advantage of a poor chase following Biggar's high kick.
Glasgow's left wing evaded opponent Hanno Dirksen and ran from inside his 22 to outpace Biggar at the other end of the field.
However, the visitors suffered a significant blow when Scotland scrum-half Chris Cusiter departed with a shoulder injury after 13 minutes.
Weir converted a penalty following a technical offence committed in the incident that led to Cusiter's departure.
But Glasgow overcame the blow on a night when home scrum-half Rhys Webb's poor night played a part in their downfall.
The Wales international gifted Glasgow their second try as he fumbled at the base of a defensive ruck and Fusaro gathered for the simplest of scores for Weir to convert.
A powerful George Stowers run and a telling Joe Bearman tackle on Ali Kellock lifted home spirits.
But having committed 12 handling errors in the opening 32 minutes left the home side on the back foot.
That allowed Glasgow's simple and effective game plan to continue paying dividends.
The visitors were 15-0 ahead at the break and after Webb was sin-binned for a professional foul in the 46th minute, Weir's penalty put them further ahead.
Glasgow were not without sin either, flanker James Eddie yellow-carded for pulling down a maul threat near their own line in the 51st minute to level the numbers.
And with skipper Alun Wyn Jones off the bench to spark a mini-Ospreys revival the Ospreys were able to profit with lock Ian Evans eventually breaking through.
Biggar converted, but three minutes later the visitors restored the comfort of their two-scores lead.
The Ospreys chanced a counter-attack from within their 22, but poor handling forced Dirksen into touch and gave Glasgow the initiative.
Van der Merwe took on the attack, escaping from Richard Hibbard's tackle before spinning and forcing his way over for Weir to convert.
Biggar added a penalty to offer a little more hope to the hosts.
But it proved forlorn as Weir's replacement Ruaridh Jackson also kicked a penalty to finish off his side's winning work.
Ospreys: Richard Fussell; Hanno Dirksen, Jonathan Spratt, Ashley Beck, Tom Grabham; Dan Biggar, Rhys Webb; Duncan Jones, Richard Hibbard, Aaron Jarvis, Ian Gough, Ian Evans, George Stowers, Justin Tipuric (capt), Joe Bearman.
Replacements: Matthew Morgan for Fussell (71), Kahn Fotuali'i for Webb (56), Ryan Bevington for D Jones (56), Scott Baldwin for Hibbard (61), Joe Rees for Jarvis (56), Alun Wyn Jones for Gough (46).
Not Used: Lewis, Bishop.
Yellow card: Webb, 46
Glasgow Warriors: Peter Murchie; Tommy Seymour, Alex Dunbar, Peter Horne, DTH van der Merwe; Duncan Weir, Chris Cusiter; Ryan Grant, Dougie Hall, Mike Cusack, Tom Ryder, Ali Kellock (capt), James Eddie, John Barclay, Chris Fusaro.
Replacements: Sean Lamont for Horne (56), Ruaridh Jackson for Weir (71), Henry Pyrgos for Cusiter (13), Gordon Reid for Grant (41), Finlay Gillies for Hall (61), George Hunter for Cusack (76), Adam Ashe for Eddie (78), Angus MacDonald for Barclay (67).
Yellow card: Eddie, 51
Ref: Leo Colgan (IRFU).