James Arlidge scored a try, two conversions and two penalties
James Arlidge helped Newport Gwent Dragons beat Glasgow Warriors for the fifth time in a row away from home.
Fly-half Arlidge put 15 points on the board at Firhill, scoring the first try that was then added to by team-mates Rory Sidney and Richard Fussell.
The boot of Dan Parks aided Glasgow's cause, while Thom Evans provided Sean Lineen's men with their only try.
Warriors were within five points of the Dragons for the last ten minutes, but great defending saw the Welsh home.
The result will dismay Warriors coach Sean Lineen, whose side are hard to beat at home and who went into the match on a far better run of form than their opponents.
Dan Turner took over from lock Opeta Palepoi, who went off injured for a spell, to make his 100th appearance for Warriors.
Match-winner Arlidge entered the fray to replace the injured Shaun Connor for Arlidge, and his 13th-minute penalty cancelled out an early penalty by Parks.
And it was Arlidge who was celebrating again when he converted under the posts after intercepting a slack Bernardo Stortoni pass and racing 60 metres for the try.
Errors weren't confined to Warriors, however. A weak Dragons pass was punted ahead by Graeme Morrison and Thom Evans was the fastest to the ball to score. Parks hit the post with another tough touchline conversion.
A clever chip by Jason Tovey released Fussell and Sidney for the latter to score a try from which Arlidge failed to convert, then Parks' 40-metre penalty made it 15-11 at the break.
Warriors' John Barclay finds the going tough at Firhill
Crucially, Dragons got the first points of the second period, Fussell crossing the line for the visitors.
Arlidge converted to put daylight between the teams but another monster Parks penalty made it 22-14.
A rejuvenated Glasgow side encouraged by the home support tried in vain to cross the line, but had to settle for a Parks drop-goal and a 40 metre penalty either side of an Arlidge penalty.
Glasgow coach Sean Lineen:
"I'm completely and utterly gutted. We all have to take a long, hard look at what's going on. It's just not good enough.
"We handed them the first try. We had talked about watching where we were passing. Then two set-piece tries which were appalling. We're not going to win games if we give away 25 points every game.
"It was a shocker. The guys should be ashamed of themselves. They didn't play the game plan first half.
"We did OK to start with, three points up. We lost that try by throwing two long passes. Where that came from I have no idea.
"There were some guys out there that made it very difficult for others around them. I'm not giving up but it's a tough one to take."
Dragons coach Paul Turner: "It was a pretty difficult last couple of minutes but we probably deserved the victory.
"Two of the three tires were right off the training paddock that Lyn (Jones) has worked on most of the week.
"We've not scored enough tries this season, but three have come tonight and I thought we were a little unlucky not to get the fourth."
Glasgow: Stortoni, O'Hare, M. Evans, Morrison, T. Evans, Parks, Pinder, Va'a, Thomson, Low, Palepoi, Kellock, Eddie, Barclay, Brown. Replacements: Jackson for Stortoni (41), Gregor for Pinder (57), Tckachuk for Va'a (53), Hall for Thomson (53), Turner for Palepoi (3), Vernon for Eddie (57). Not Used: Henderson.
Newport-Gwent Dragons: Tovey, Wyatt, Sidey, Davies, Fussell, Connor, W. Evans, Black, Willis, R. Thomas, A. Hall, Charteris, MacDonald, L. Evans, Lydiate. Replacements: Smith for Sidey (78), Arlidge for Connor (9), A. Jones for A. Hall (62), Ringer for Lydiate (49). Not Used: S. Jones, N. Hall, Isaacs.
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.