Glasgow (12) 15
Pens: Parks 5
Leinster (3) 12
Pens: Contepomi 4
Dan Parks kicked all of Glasgow's points at Firhill
Five Dan Parks' penalties gave Glasgow Warriors a Magners League victory over Leinster at Firhill.
The Scotland stand-off kicked Glasgow into a 12-3 lead at half-time, with Felipe Contepomi replying for Leinster.
Contepomi brought the visitors to within three points before Parks gave Warriors a 15-9 advantage.
Another Contepomi penalty narrowed the deficit and though Parks missed a late kick, Glasgow held firm to move above Leinster in the table.
The home side were forced to make a late chance to their starting line-up with Eric Milligan replacing hooker Dougie Hall, who has been struggling with a shoulder injury.
Warriors were awarded their first penalty of the night within the first minute, an infringement at the breakdown allowing Parks a simple kick which he duly converted.
But the lead did not last long as Contepomi levelled following a similar offence at the other end.
Glasgow thought they had scored the game's opening try when Max Evans combined with Lome Fa'atau on the right before crossing the line.
However, the score was disallowed after the officials spotted a forward pass.
Foul play at a lineout led to Parks kicking his side back into the lead before Glasgow survived a powerful Contepomi run which petered out after a lack of support.
Parks' excellent 40-metre penalty was quickly followed by another from in front of the posts with Leinster's Jamie Heaslip being sin-binned in the second instance.
A man down, Leinster wasted a chance to reduce Glasgow's lead when Contepomi missed his kick.
The visitors moved within a converted try of their opponents early in the second half as Contepomi atoned for his earlier miss.
The Argentine then booted from near the halfway line to make it 12-9 with more than a quarter of the match remaining.
Glasgow lost Scotland centre Graeme Morrison to injury before Leinster continued to show ill discipline as Parks made them pay with another penalty.
But Contepomi made no mistake with his fourth penalty of the evening to set up a tense finish.
As the clock ticked away, Parks fired a difficult penalty wide of the posts but it mattered little with Leinster failing to get the try which would have given them more than just a bonus point.
Glasgow: Stortoni, Faatau, M. Evans, Morrison, T. Evans, Parks, McMillan, Tckachuk, Milligan, Kalman, Turner, Kellock, Brown, Barclay, Beattie.
Replacements: O'Hare for Faatau (74), Henderson for Morrison (62), McArthur for Milligan (70), Low for Kalman (40), Barker for Kellock (41). Not Used: Vernon, Gregor.
Leinster: Dempsey, Horgan, Fitzgerald, Contepomi, Kearney, Sexton, Whitaker, Healy, Fogarty, Wright, Toner, O'Kelly, Elsom, Jennings, Heaslip.
Replacements: van der Linde for Healy (50), Blaney for Fogarty (65), O'Brien for Jennings (50). Not Used: Hogan, S. Keogh, Keane, Brown.
Ref: Gwynn Morris (Swansea).