Munster made it back-to-back Rabo PRO12 league wins as they edged Leinster to earn the bragging rights in the Irish derby.
Playing in front of a passionate Thomond Park crowd for the first time this season, Munster were full value for their narrow 19-15 win.
Despite Munster making the better start to the game, it was Leinster who opened the scoring. Munster were penalised for not rolling away and Ian Madigan had the straightforward task of slotting the penalty.
The home side continued to press Leinster inside their '22 and were awarded a penalty after excellent work from Keith Earls. Keatley pointed to the sticks but his effort came back off the post.
The surface continued to cause problems for the players, especially at scrum time. It was Munster who were penalised mid-way through the first half and Madigan made no mistake as he put his side into a 6-0 lead.
But Keatley responded and deservedly put Munster on the score board after half an hour when he kicked a fine penalty. A minute later, having threatened on a couple of occasions, Munster scored the game's only try.
A brilliant break and kick through by Keatley was followed up by the lightning quick Earls. From the following ruck, Madigan was adjudged to have entered the ruck illegally and he was sent to the sin bin.
O'Mahony pointed to the corner and that was to prove to be the right decision as Keatley's perfectly flighted cross field kick was gathered by Earls who expertly finished. Keatley added the extras.
There was still time left for Leinster to cut the gap in an enthralling first half as Fergus McFadden stepped up in Madigan's absence to leave the score at 10-9 at the break.
Munster were dealt a blow as captain Peter O'Mahony was forced off at half time as he shipped a heavy knock to the head shortly before the interval. Thankfully O'Mahony was well enough to take his place on the bench.
The second half started much like the first as both out-halves exchanged penalties in the opening ten minutes to bring the score to 13-12 in Munster's favour.
Munster were then penalised for going off their feet, much to the frustration of the home crowd. And Madigan's long range kick edged Leinster into the lead.
But not to be outdone by his opposite number, Keatley once again responded in kind as his sweetly struck penalty put his side back into a 16-15 lead.
James Cronin was introduced from the bench and he immediately made his mark when he won a penalty for the home side. Keatley again stepped up and fired his kick straight between the posts.
BJ Botha and Conor Murray both made their return from injury as Leinster threw everything at Munster in the closing stage.
But the visitors couldn't find a way through a solid defensive unit. Keatley had the chance to seal the win late on but his penalty drifted just right and wide but it mattered little as Munster claimed the win.
Munster: Felix Jones (Denis Hurley 67); Keith Earls, Casey Laulala, James Downey, Simon Zebo; Ian Keatley, Duncan Williams (Conor Murray 52); David Kilcoyne (James Cronin 55), Mike Sherry (Damien Varley 55), Stephen Archer (BJ Botha 67); Donnacha Ryan, Paul O'Connell; Peter O'Mahony (Capt.) (CJ Stander 40), Niall Ronan (Donncha O'Callaghan 63), James Coughlan.
Leinster: Rob Kearney, Fergus McFadden (Luke Fitzgerald 55), Lote Tuqiri (Jimmy Gopperth 74), Gordon D'Arcy, Dave Kearney; Ian Madigan, Eoin Reddan (Isaac Boss 55); Cian Healy (Jack McGrath 63), Sean Cronin (Aaron Dundon 67), Mike Ross (Martin Moore 67); Devin Toner, Mike McCarthy; Kevin McLaughlin (Dominic Ryan 63), Sean O'Brien, Jamie Heaslip (Capt.).
Referee: Romain Poite.