Dragons centre Ceri Sweeney celebrates his winning kick
Glasgow 23 (20)
Tries: Pinder, Morrison.
Cons: Parks 2.
Pens: Parks 2, Gregor.
Dragons 24 (12)
Tries: Sweeney, A. Brew.
Pens: Sweeney 3.
Glasgow Warriors suffered a bad collapse against the Dragons as they marked their Hughenden homecoming with a Magners League opening day disaster.
The hosts had looked set for victory after taking 20 quick points without reply but they let their guard slip.
Dragons staged a comeback with Ceri Sweeney's penalty in the 10th minute of stoppage time snatching Welsh glory.
Glasgow had made a perfect start with Sam Pinder's early try and a couple of well-taken penalties from Dan Parks.
Early on Thom Evans lobbed a perfect pass inside to Francisco Leonelli who released scrum-half Pinder on a cruise to the line, giving Parks an easy conversion.
The Welsh were then penalised for twisting in the scrum, leaving Parks to gather three points with a pinpoint 40-metre strike, a feat he repeated with an angled kick following offside at a ruck.
A beautifully-weighted steepler into the corner then sparked panic among the Dragons back-ranks and Graeme Morrison was on hand to scoop up and plunge over from close-range.
Parks again slotted the goal to open up a 20-point gap.
It took the Dragons until the 30th minute to mount a meaningful attack with centre Sweeney's try giving them a glimmer of hope.
Two minutes later winger Aled Brew pounced to score in the wake of a speculative kick-and-chase and Sweeney added the awkward conversion.
Sweeney then banged over two kicks and Mike Hercus expertly landed a drop-goal to edge the Welsh visitors in front and set up a tense finale.
It seemed as though Glasgow might just escape as Colin Gregor's penalty restored the Scots' lead.
But Sweeney settled the contest with the last kick of the game.
Glasgow: Francisco Leonelli; Thom Evans, Graeme Morrison, Andy Henderson, Mike Roberts; Dan Parks, Sam Pinder; Justin Va'a, Fergus Thomson, Euan Murray, Andy Newman, Alastair Kellock (capt), John Barclay, Jon Petrie, Donnie Macfadyen.
Replacements: Eric Milligan, Kevin Tkachuk, Dan Turner, Steve Swindall, Graeme Beveridge, Colin Gregor, Colin Shaw.
Dragons: Gareth Wyatt; Nathan Brew, Gareth Maule, Ceri Sweeney, Aled Brew; Craig Warlow (capt), Alex Walker; Adam Black, Steve Jones, Rhys Thomas, Bryn Griffiths, Ian Gough, Joe Bearman, Jamie Ringer, Nic Fitisemanu.
Replacements: Ben Daly, Lee Harrison, Andrew Hall, Colin Charvis, Shane Stewart, Mike Hercus, Gareth Baber.