Man-of-the-match Keatley produced his most authoritative display in the Munster number 10 jersey to date, creating the game's only try for Keith Earls and reeling off five successful kicks from seven attempts for a 14-point tally.
The result saw Munster deservedly end a four-match losing streak against Leinster, who were without Brian O'Driscoll due to a calf strain.
After a stop-start opening quarter, Munster edged their way to a 10-9 interval lead with Keatley creating - and converting - a classy 33rd-minute try for Earls.
Keatley's opposite number Ian Madigan, who had been sin-binned in the previous play, landed two first-half penalties which were added to by a Fergus McFadden kick on the stroke of half-time.
There was little between the provinces in the second period, but Munster's forwards exerted greater control, especially in the scrum, and Keatley's right boot did the rest, landing three more penalties to two from Madigan.
Leinster had taken a third-minute lead, with a brave catch from Rob Kearney setting them up for some strong early phases - the product of which was a successful Madigan penalty from the 10-metre line.
Both Madigan and Keatley then missed penalties before the former made it 6-0 with a kick from close to the Munster uprights.
The hosts quickly responded and marched downfield to win a penalty which allowed Keatley to get them off the mark.
The Munster fly-half took centre-stage approaching the interval, sparking the long-range break that led to Madigan's sin-binning and Earls' subsequent try owed much to the accuracy of Keatley's booming cross-field kick.
Earls had gone close to scoring just moments earlier, David Kearney scrambling back to deny him but at the ensuing ruck Madigan needlessly came in at the side to play the ball and French referee Romain Poite reached for his yellow card.
Munster swiftly made their numerical advantage count, mauling up close from a lineout before Keatley booted the ball wide to the lurking Earls who gathered on the right wing and deftly dodged past Rob Kearney to score.
The hosts wanted to build on that try but Leinster's pack carved out a late penalty for McFadden to slot from inside the 22, making it a one-point game at the break.
Munster had to replace their captain Peter O'Mahony, who took a knee to the head, but they kept on course thanks to a well-struck Keatley penalty early in the second half.
The play remained scrappy for the most part with Keatley missing with a long-range drop goal effort.
Jamie Heaslip and Healy combined to get Leinster back into scoring range, their hard work helping to earn a penalty which Madigan stuck between the posts from close range to make it 13-12 and two minutes later Madigan put his side back in front from further out.
That 15-13 advantage was quickly erased by Keatley nearing the hour mark though, and he made it 19-15 soon after with another successful kick.
Leinster suffered a blow when they lost Lote Tuqiri, who deputised for the injured O'Driscoll at outside centre, to a hamstring injury and there were no late heroics from the defending RaboDirect PRO12 champions as Munster, with a fit-again Paul O'Connell driving them forward, closed out a morale-boosting win.