Replacements Tommy O'Donnell, Barry Murphy and Lifeimi Mafi all touched down in the final eight minutes of a topsy-turvy encounter, although the home side's joy was tempered by the sight of Jerry Flannery limping off late on after another attempted comeback from a troublesome calf injury.
In wet conditions, Ulster stole an early march on their provincial rivals with a Thomas Anderson try and five points from the boot of Paddy Wallace.
Trailing 10-6 at half-time, Munster clawed their way back through the boot of Paul Warwick and a Denis Hurley try.
The league leaders upped the tempo as a tiring Ulster lost Neil McComb to the sin-bin, and the late hat-trick of tries settled the issue and moved Munster eight points clear at the top of the table.
The victory sees the Scarlets go back up to second place in the league although the Dragons did register a deserved losing bonus point.
Gareth Maule's try provided the other five points for Scarlets while Wayne Evans and Aled Brew crossed for Newport with Jason Tovey kicking five points.
Leinster made it two inter-provincial wins in quick succession as they followed up victory at Ulster with a bonus point 30-8 success against Connacht at the RDS.
David Kearney's first try of the season established an 8-3 half-time lead for the hosts, who overcame a poor start during which flanker Sean O'Brien was forced off with an injury.
But they were clinical after the break and second-half touchdowns from Kearney, Fergus McFadden and Niall Morris powered them to a victory which sees them close in on the top four in the table.
Connacht got precious little reward for a committed display, with Ian Keatley kicking a first-half penalty and Eoin Griffin collecting a late consolation try.