Ian Madigan scored all Leinster's points as they moved to the top of the Pro12 by edging out Glasgow in Dublin.
Ed Kalman and Peter Horne scored first-half tries for the Warriors while Duncan Weir added a penalty.
Madigan's right boot kept Leinster in touch and the hosts trailed 17-12 at the break.
The Ireland fly-half went over for a fine individual try on 72 minutes before firing over his fifth penalty from five attempts to secure victory.
Leinster controlled possession early on into a biting wind, working effectively from ruck to ruck with the fit-again Quinn Roux heavily involved.
Glasgow, on a seven-match winning streak in the league, gave very little away in defence though, and a typically smart break from scrum-half Matawalu put the Scots on the offensive.
The visitors made the breakthrough in the 10th minute, pressing from a close-in line-out and then Josh Strauss drew in a couple of defenders and got his offload away for prop Kalman to score by the posts.
Weir's conversion was quickly followed by a central penalty from Madigan, who coolly split the posts after the ball had blown off the kicking tee just seconds earlier.
The Warriors responded with a strong set of phases, attacking the fringes with vigour and a well-struck penalty from Weir restored their seven-point lead.
The returning Gordon D'Arcy drove his legs to get over the gain-line, and Madigan tucked away a penalty from a similar position to his first.
But Glasgow showed their clinical edge again when conjuring up a try out of nothing, DTH van der Merwe worming free of Jordi Murphy's grasp on the left, staying in touch and passing inside for centre Horne to run in an opportunist score.
Weir added the extras, although Leinster enjoyed arguably their best attacking spell approaching half-time.
Isa Nacewa, Madigan and Andrew Conway all sliced through the Scots' defensive line, two of those surges earning penalties that the reliable Madigan converted.
His fourth successful place-kick, this time from a difficult position on the right, closed the gap to five points.
The Warriors almost replied in injury-time, however Weir's snap drop-goal went to the right and wide.
The high tempo continued into the second period, Glasgow threatening first with some superb supporting running and Madigan managing to retrieve his brave chip from behind the hosts' tryline.
The wind became more of a factor as the game wore on, disrupting line-outs significantly, and scoring chances were few and far between as the defences tightened up.
Madigan's slashing break out of the Leinster half, with Sean Cronin in support, gave a glimpse of what the hosts could do from deep.
When they got back into the Scots' 22 with eight minutes left, Madigan deftly dummied to pass and broke through two tackles to score an excellent try.
His conversion nudged Leinster ahead for the first time in the game and he took his tally to 22 points after replacement Dominic Ryan forced a 77th minute penalty at a ruck.
Gregor Townsend's men came with a committed final spurt, hammering away at the Leinster defensive line before a long pass to Sean Lamont, who only had one man to beat, was ruled forward.
Leinster: Nacewa, D. Kearney, O'Malley, D'Arcy, Conway, Madigan, Boss, van der Merwe, Cronin, Bent, Cullen, Roux, McLaughlin, Jennings, Murphy.
Replacements: J. McGrath for van der Merwe (61), Hagan for Bent (47), Toner for Roux (50), Ryan for McLaughlin (61), Dundon for Murphy (77).
Not Used: Cooney, Macken, Carr.
Glasgow: Murchie, Seymour, Dunbar, Horne, van der Merwe, Weir, Matawalu, Low, Hall, Kalman, Ryder, Kellock, Harley, Barclay, Strauss.
Replacements: S. Lamont for Seymour (56), Pyrgos for Matawalu (62), Reid for Low (62), MacArthur for Hall (62), Welsh for Kalman (51), Wilson for Harley (51), Eddie for Strauss (75).
Not Used: Jackson.