With just 5,000 people allowed in the gates of Thomond Park, and those lucky enough to attend well-scattered around the 25,600 capacity stadium, it was easy to pick out individual crowd noises.
The groans were audible in the opening 25 minutes as Ulster dominated this interpro, but the roars were spine-tingling as Alex Kendellen pounced on a loose ball to score the winning try with five minutes left.
The boos were loud, and the language was choice as Simon Zebo was shown a red card for his high tackle on Mike Lowry on 15 minutes, and it was similar when Kieran Treadwell avoided a similar fate for a tip-tackle on Shane Daly.
For large parts of this game it felt like Munster were staring at a second defeat in a row, which would have heaped further pressure on Johann van Graan.
But despite being a man down for much of the contest, they dug deep in the second half, tries for Mike Haley and Kendellen securing a vital four points, and denying Ulster a first win at Thomond Park since 2014.
Munster were dealt a blow shortly before kick-off when Peter O'Mahony was ruled out following a knock in the warm-up, with Tadhg Beirne taking his place in the back-row, as well as stepping in as captain.
As if mimicking the cloud hanging over the home side this week, the game started underneath a deluge of rain, while the biting wind blowing across the pitch didn't do much for the promise of rugby.
The opening minutes were largely played in Munster's half after they conceded three early penalties, the indiscipline of last week still lingering seven days later.
It was only a matter of time before Ulster scored, and it was Herring who touched down on seven minutes, finishing off a tight rolling maul which began with his throw to Sam Carter.
Cooney's conversion was just a few metres in from the touchline, but he navigated the gusting wind to perfection, sending Ulster seven points in front as the clock hit 10 minutes.
It was just the start that Ulster wanted, and just the start Munster didn't need.
Things got worse five minutes later, when Zebo was shown a red card by referee Mike Adamson.
Zebo and Jack Crowley had chased hard on a Casey box-kick and the pair hit Mike Lowry with force as he caught the ball. Both players had come in high, but it was Zebo who connected with the head of Lowry.
After checking with the TMO, Adamson showed the winger a red card, leaving Munster down to 14 men, with 65 minutes still to play.
In the 25th minute, Ulster were dealt their first blow, as Cooney hobbled off injured, and soon after Munster got their first significant phases in the Ulster half of the pitch.
John Hodnett and Thomas Ahern both broke the Ulster wall to bring Munster close to the line, but from there they reverted to an eight-man game, hammering away with pick-and-go rugby and one-out runners, despite playing with a couple of lengthy advantage periods.
On the second penalty, Crowley pointed for the posts and knocked over a simple three points to make it 3-7, with Munster having perhaps learned a lesson from their first half against Connacht a week ago.
It had taken them 32 minutes to register their first score, but they were slowly looking a more settled team aided by some good territorial kicking by Crowley who was growing into the game.
The young out-half kicked his second penalty on 39 minutes to cut Ulster's lead back to just a point, but straight from the restart Ahern was pinged for going off his feet, and Nathan Doak restored the four point advantage, making it 6-10 as the teams made their way into the changing rooms.
The second half started just like the first, with Ulster mounting the pressure and Munster conceding penalties, the home side eventually clearing their lines on 47 minutes after a wonderful lineout steal from Ahern.
Conditions remained brutal in the second half as the rain fell in bursts every few minutes, and it led to the game getting scrappier and scrappier.
But Ulster were dealing with it the better, and made it 6-13 on 56 minutes with a long-range penalty, after a big scrum from the Ulster front row.
Just before the hour mark, it became 14 v 14; Kieran Treadwell sin-binned for a tip-tackle on Shane Daly and the second row could consider himself lucky not to have seen red.
Munster made it count though, driving into the 22 with a maul before finally sending it wide to Mike Haley who dived over the line following an excellent Casey pass.
Ulster remained in front however, Crowley's difficult conversion attempt not curling enough, and hitting the post to leave the score 11-13.
The northern province were starting to show some signs of desperation, but they remained in front for the rest of Treadwell's 10 minutes in the bin, and shaved 60 seconds off the clock when Doak took a speculative penalty shot at goal, but it was one that was never likely to test the posts.
With five minutes to play, Munster led for the first time in the game.
It started with Jack O'Donoghue stepping inside Treadwell to break into the 22, and it ended with Kendellen pouncing on a spillage and diving over the line for his first Munster try, just a few days on from signing his first senior contract.
The conversion was straightforward in theory, but laden with pressure, and Ben Healy drove it through the wind to put Munster five in front, with five to play.
Alex Kendellen, a late addition to the team because of Peter O'Mahony’s injury in the warm-up, gets his first try for Munster with what proved to be the match-winning score #RTERugby #RTESport #URC #MUNvULS— RTÉ Rugby (@RTErugby) January 8, 2022
📱 https://t.co/GmepvvwJvI pic.twitter.com/fc20F9UJuQ
And they held on to claim a vital win, with captain Beirne sealing a Player of the Match performance with a turnover on the halfway line, Casey booting the ball into the night to bring up the final whistle.
Munster: Mike Haley; Sean French, Chris Farrell, Rory Scannell, Simon Zebo; Jack Crowley, Craig Casey; Dave Kilcoyne, Niall Scannell, Stephen Archer; Thomas Ahern, Fineen Wycherley; Tadhg Beirne (capt), John Hodnett, Gavin Coombes.
Replacements: Diarmuid Barron, Josh Wycherley, John Ryan, Alex Kendellen, Jack O'Donoghue, Neil Cronin, Ben Healy, Shane Daly.
Ulster: Mike Lowry; Craig Gilroy, Ben Moxham, James Hume, Ethan McIlroy; Billy Burns, John Cooney; Jack McGrath, Rob Herring, Tom O'Toole; Alan O'Connor (capt), Sam Carter; Greg Jones, Nick Timoney, Duane Vermeulen.
Replacements: John Andrew, Andrew Warwick, Ross Kane, Kieran Treadwell, Marcus Rea, Nathan Doak, Angus Curtis, Rob Lyttle.
Referee: Mike Adamson (SRU)