Leinster were chasing their fourth successive title but Munster began the stronger and a penalty in the fifth minute put them ahead after Leinster were caught offside in a ruck.
Munster attacked but Leinster rallied and second-row Devin Toner rolled over from a block-down in the 23rd minute to score in the Munster corner.
Munster's Thomas Gleeson responded with a penalty in the 29th minute to give his side a slim one-point lead, but a Gary Walsh drop-goal four minutes later gave the initiative back to the hosts.
They then stretched their lead to 13-6 through a Kevin Barden try just before the interval.
Munster again began the better and Old Crescent's Barry O'Mahony went over, but Gleeson's conversion attempt sailed wide. He made amends by sending over a drop-goal to again reduce the deficit to a point after 44 minutes.
Leinster again responded and Thomas Sexton looked to have scored the winner in the final minute of the game. However, three minutes into added time, Gleeson kept his cool under pressure to slot home a penalty and send the trophy south.
Munster: Tries: Barry O'Mahony Drop Goals: Thomas Gleeson Penalties: Thomas Gleeson (3)
Leinster: Tries: Devin Toner, Kevin Barden Drop Goals: Jonathan Sexton Penalties: Jonathan Sexton
Evan Ryan (PBC,Cork); Jonathan Shortt (CBC, Cork), Thomas Gleeson (PBC, Cork), Alex Kelleher (PBC, Cork), Peter Shallow (Rockwell),; Conan Doyle (Ard Scoil Ris), Duncan Williams (CBC, Cork); Darragh Hurley (CBC, Cork), Sean Cronin (Ard Scoil Ris), Liam Casey (Ard Scoil Ris); David Sherry (Ard Scoil Ris), William Holland (CBC, Cork); Michael Essex (CBC,Cork) capt, Barry O'Mahony (Crescent Comprehensive), Jonathan Harte (CBC,Cork)
Replacements: Francis Daly (St. Munchin's), Thomas Barry (Rockwell) Ross O'Loughlin (Ard Scoil Ris) John Philpott (PBC, Cork), Ryan Hasson (CBC, Cork), Fergal Walsh (St. Munchin's), Paul Doyle (CBC, Cork).