Munster ended their four-game losing streak against fierce rivals Leinster with a gritty 19-15 Thomond Park RaboDirect Pro12 success.
And, as Leinster coach Matt O’Connor tasted defeat in his opening derby, he also saw big name star Lote Tuquiri limp off with hamstring trouble.
Leinster struck first when Madigan confidently slotted a penalty from 40 yards out after just three minutes when Munster’s Dave Kilcoyne was penalised for not releasing.
Despite the fact Leinster were done for two early pushes at scrum-time, Stephen Archer was penalised in his own half 20 minutes later and Madigan made no mistake from the right-hand side to push his side 6-0 ahead.
From another scrum infringement, Keatley was given the chance to halve the gap but his shot skewed off the post.
And Madigan also missed another chance with an audacious effort from within his own half as both sides struggled to keep possession, piling error upon error despite the glorious autumnal conditions.
The match eventually burst into life eight minutes before the break when Munster scored the opening try after a scintillating break which saw Ian Madigan harshly binned.
From the ensuing penalty, Keatley’s adroit cross-field kick was expertly gathered by Keith Earls, who danced inside the flailing tackle of the poorly positioned Rob Kearney to score.
Keatley’s conversion made it 10-6 but a closing Fergus McFadden penalty narrowed the margin to the minimum and Munster.
Munster captain Peter O’Mahony was unable to resume in the second-half after shipping a heavy knock but Keatley struck the first second-half blow, his penalty edging the home side 13-9 ahead.
Leinster offered little in attack and Munster’s defence was outstanding, albeit two fine carries from Jamie Heaslip and Cian Healy created a penalty chance from which Madigan converted in the 54th minute.
Stephen Archer was then penalised for obstructing Madigan’s chip and chase and the Leinster out-half put his side ahead once more.
But, in an increasingly frantic and enjoyable tussle, Munster regained their slight advantage when Keatley nabbed another penalty on the hour mark for a 16-15 lead.
Buoyed by the introduction of young James Cronin, Munster frog-marched a Leinster scrum backwards to allow Keatley to extend the advantage to four points in the 65th minute.
MUNSTER – F Jones (D Hurley 68); K Earls, C Laulala, J Downey, S Zebo; I Keatley, D Williams (C Murray 53); D Kilycoyne (J Cronin 55), M Sherry (D Varley 55), S Archer (, BJ Botha 68); D Ryan, P O'Connell; P O'Mahony (CJ Stander 41), N Ronan (D O'Callaghan 68), J Coughlan.
LEINSTER – R Kearney; F McFadden (L Fitzgerald 55), L Tuqiri (J Gopperth 74), G D'Arcy, D Kearney; I Madigan, E Reddan (I Boss 55); C Healy (J McGrath 64), S Cronin (A Dundon 68), M Ross (M Moore 68); M McCarthy, D Toner; K McLaughlin, S O'Brien (D Ryan 64), J Heaslip.
REF – R Poite (FFR).