Leinster moved to the top of the RaboDirect Pro12 with victory over their Irish provincial rivals Munster at the Aviva Stadium in Dublin.
Jonathan Sexton kicked five penalties to Ronan O'Gara's three to give the home side a 15-9 lead at half-time.
Sexton knocked over two more penalties and Rob Kearney landed a perfectly executed drop-goal with his left foot.
O'Gara kicked a further penalty and converted a late penalty try to ensure that Munster left with a bonus point.
Rival Irish fly-halves O'Gara and Sexton traded penalties in the first half, with both players enjoying a 100% kicking record before the break.
The pair added further penalties before Kearney's 56th-minute drop goal.
Denis Leamy was yellow-carded and then Sexton extended the advantage, while O'Gara missed with an effort at the posts for the first time.
Heaslip was then shown a yellow card and Munster took advantage by scoring their penalty try in the 77th minute.
Isa Nacewa infringed as the Munster pack pushed for the line and the try was awarded, O'Gara converting.
The defending champions were unable to close the remaining five-point gap in the final minutes.
Munster suffered an early setback when Keith Earls fielded Sexton's kick-off and injured his left leg as he set up a ruck near his 22.
Danny Barnes was brought off the bench in his place and the visitors soon took the lead, O'Gara drilling over a penalty after Donncha O'Callaghan poached a Leinster lineout.
The home side were back level by the 10th minute, their forwards gaining good ground before Sexton fired over the first of his 21 points.
Every mistake was magnified in a typically frenetic and abrasive opening, with Sexton moving Leinster 6-3 ahead after Donnacha Ryan infringed at a midfield ruck.
World Cup team-mates Sean O'Brien and Conor Murray clashed off the ball before O'Gara and Sexton exchanged penalties once again, with neither attack able to prise open a gap.
The first break eventually came when Cian Healy thundered through a couple of tackles and brought play up close to the Munster tryline.
However, Leinster botched an overlap on the left and had to settle for another penalty goal from Sexton.
Five minutes later, Munster drew a penalty from a well-orchestrated maul and O'Gara had little difficulty in splitting the posts from the left.
But when BJ Botha infringed at a scrum just inside the visitors' 22, Sexton restored Leinster's six-point advantage for half-time.
The nip-and-tuck pattern continued into the second half with O'Gara and Sexton swapping penalties, although an injection of pace from Luke Fitzgerald and Fergus McFadden got Leinster's attack firing.
Nacewa was crowded out in the right corner but space was beginning to open up as evidenced by midfield bursts from Barnes and Gordon D'Arcy.
Leinster moved nine points in front when, with a penalty advantage, Kearney was teed up for a sweetly-struck drop goal from 35 metres out.
Joe Schmidt's charges were beginning to find holes and when Leamy killed quick ruck ball for Leinster and received a yellow card, Sexton made it a double scores lead at 24-12.
O'Gara suffered his first miss two minutes later, yet the 14 men of Munster soon had the European champions under huge pressure.
Paul O'Connell was central to a series of lineout mauls which could and perhaps should have led to the game's first try.
Leinster leaked penalties and had Heaslip sin-binned as he infringed when trying to halt the Munster drive.
It was all hands to the pump for the men in blue who managed to keep Munster out until three minutes from the end.
The visitors' scrum found the strength to shunt Leinster back towards their line and on the second such occasion, after James Coughlan almost got over, referee Pascal Gauzere awarded a penalty try.
O'Gara quickly converted but a losing bonus point was Munster's only reward after a bruising contest with their fiercest rivals.
Leinster: R Kearney; I Nacewa, F McFadden, G D'Arcy, L Fitzgerald; J Sexton, I Boss; C Healy, Richardt Strauss, Mike Ross; Leo Cullen (capt), Devin Toner; Sean O'Brien, Shane Jennings, Jamie Heaslip.
Replacements: Heinke van der Merwe for Healy (55), Jamie Hagan for Ross (73), Kevin McLaughlin for Toner (73), Rhys Ruddock for Jennings (63), Eoin Reddan for Boss (58), Eoin O'Malley for D'Arcy (73)
Not used: Sean Cronin, Ian Madigan
Munster: J Murphy; D Howlett, W Chambers, L Mafi, K Earls; R O'Gara, C Murray; W du Preez, D Varley, BJ Botha; D O'Callaghan, P O'Connell (capt); D Ryan, N Ronan, D Leamy.
Replacements: M Horan for du Preez (73), J Hayes for Botha (78), P O'Mahony for Ronan (52), J Coughlan for O'Callaghan (52), T O'Leary for Murray (63), I Keatley for Murphy (75), D Barnes for Earls (2)
Not used: D Fogarty
Referee: Pascal Gauzere (FFR)