Ulster were enjoying some good territorial advantage but were unable to make the final line-break when inside the final 5 metres. The cause was not helped when hooker Jonny Murphy was forced off injured on 14 minutes.
Johnston added another excellently struck penalty from 40m to edge the home side in front again. Lock Darren O'Shea got the game's first try on 26 minutes when he strolled over following several phases of heavy pressure. Johnston added the easy extra two points.
Ulster were dealt another significant blow on the half hour mark when flanker Conor Joyce was judged to have deliberately knocked on and was subsequently yellow carded. Munster took full advantage of the extra man and within a minute former Ulster player Sam Arnold darted over in the right corner. Johnston coolly slotted the sideline conversion to make it 20-3.
Five minutes before the break Johnston notched his third penalty of the half to make it 23-3 at the interval.
The second half was a largely uneventful affair with neither side creating many clear cut scoring opportunities.
Unlike much of the opening half, Ulster were now matching their opponents in the physical exchanges, but were unable to find the crucial breakthrough.
On 60 minutes a quick tap released Dave Shanahan and the scrum-half made a good break into Munster territory but was forced into touch just metres from the try line.
The first score of the second half only arrived two minutes from full time when Johnston knocked over another penalty to maintain his 100% goal kicking record for the afternoon and round off a comfortable win for the Munster men.
Munster A will now face Ealing Trailfinders in the semi-finals, after the London based side recorded a very impressive 84-7 win over Scarlets on Saturday.
Munster A Scorers:
Tries: D O'Shea, S Arnold
Cons: D Johnston (2)
Pens: D Johnston (4)
Munster A Team:
(15-9): Stephen Fitzgerald, Dan Goggin, Sam Arnold, Cian Bohane (Capt), Greg O'Shea, David Johnston, John Poland;
(1-8): Peter McCabe, Kevin O'Byrne, Brian Scott; John Madigan, Darren O'Shea, Sean O'Connor, Conor Oliver, Robin Copeland.
Replacements (16-22): Duncan Casey (for O'Byrne 54), Liam O'Connor (for McCabe 62), Rory Burke (for Scott 62), Bailey Faloon, John Foley (for Madigan 65), Abrie Griesel (for Poland 65), Steven McMahon (for Fitzgerald 67).
Ulster A Scorers:
Pens: B Herron
Ulster A Team:
(15-9): David Busby, Aaron Cairns, Jack Owens, Mark Best (C), Conor Kelly, Brett Herron, Dave Shanahan;
(1-8): Tommy O'Hagan, Jonny Murphy, Ricky Lutton (for Kane 72), Pete Browne, Alex Thompson, Nick Timoney, Conor Joyce, Matthew Rea.
Replacements (16-22): Zack McCall (for Murphy 14), Ross Kane (for Lutton 52), John Donnan (for Thompson HT), Conall Boomer (for Joyce 52), Andy Magrath (for Herron 78), Mark Keane (for Boomer 74), John Creighton (for Shanahan 78).