Munster started and finished strongly to set up a 41-16 win over Toulouse at Thomond Park - and a place in the Champions Cup semi-finals for the first time in three years.

Paul Perez's controversially-awarded try breathed new life into Toulouse's challenge at 24-16 down - but closing tries from Darren Sweetnam, his first in Europe, and replacement Andrew Conway sent the Irish province through in convincing fashion.

Munster were 10 points up in as many minutes, profiting from Francois Cros' early sin-binning as prop and man-of-the-match John Ryan muscled over for a try.

Jean-Marc Doussain's third penalty success - from all of 44 metres - brought wind-backed Toulouse to within four points (13-9) at the break.

This was a much tighter contest than the 2014 quarter-final in Limerick - which Munster won 47-23 - but either side of Perez's converted effort, Rassie Erasmus' current crop amassed 28 second half points, including a sharp early score from CJ Stander.

Gael Fickou had his try disallowed (Getty)

Ever-dependable fly-half Tyler Bleyendaal finished with 21 points off the tee, including five penalties, and Sweetnam and Conway gleefully put the result beyond doubt, setting up either a home semi-final against defending champions Saracens or a trip to regular PRO12 rivals Glasgow Warriors.

There were changes to both teams before kick-off, with Munster's influential scrum-half Conor Murray, who has been nursing a shoulder injury, replaced by Duncan Williams. Joe Tekori was brought into Toulouse's engine room for Scottish lock Richie Gray.

The French club's discipline was poor from the off, number eight Cros seeing yellow for an elbow on Williams and back row colleague Thierry Dusautoir infringing at a maul.

Soon after, the Toulouse captain was unable to prevent the onrushing Ryan grounding the ball for the opening try. Bleyendaal converted and then tagged on a right-sided penalty.

Munster captain Peter O'Mahony soared for two line-out steals early on but Toulouse gained a foothold with a bulldozing 20-phase attack. Although Florian Fritz missed a long range penalty, Doussain was able to split the posts from closer in.

French fly-half Jean-Marc Doussain is stopped in his tracks (Getty)

Bleyendaal and Doussain swapped penalties after 26 and 31 minutes, the Kiwi punishing a high tackle from Tekori and Toulouse returning the favour after Gael Fickou had gone close to grounding a Doussain grubber kick.

Munster had a strong finish to the half, Donnacha Ryan's overhead pass releasing Rory Scannell up the left wing before Bleyendaal had a try ruled out for a prior knock-on from Tommy O'Donnell.

Williams also blocked a clearance kick to almost force an opportunist try, but the men in red had no points to show for their pressure and Doussain drilled over a monster penalty to close the gap further.

Bleyendaal did likewise from halfway just a couple of minutes into the second period, and then a clever peel off a line-out maul paved the way for Stander's 47th minute try.

The conversion was slid just wide by Bleyendaal but he nailed a 53rd minute penalty to give Munster a 15-point cushion.

Samoan lock Joe Tekori (C) makes a break for Toulouse (Getty)

Toulouse hit back with a brilliantly-constructed seven-pointer from Samoan winger Perez in the left corner. Replays showed Yoann Maestri's pass to Perez appeared to go forward, but referee JP Doyle and TMO David Grashoff ruled there was no conclusive proof, and Doussain's difficult conversion went over off the right hand post.

With O'Mahony and Stander both off the pitch, Munster had to dig deep and their defence came up trumps, forcing knock-ons and clawing back territory before Bleyendaal punished Arthur Bonneval for not releasing.

The New Zealander's 74th-minute penalty had Munster out of reach and they duly added some late gloss.

A big tackle from Jaco Taute forced a turnover and Sweetnam dribbled through to go over unopposed, before Bleyendaal's inviting pass out to the left flank played in Conway, with the Kiwi adding a classy conversion.

Scores:

Munster 41 (13): Tries: Ryan, Stander, Sweetnam, Conway Cons: Bleyendaal 3 Pens: Bleyendaal 5

Toulouse 16 (9): Tries: Perez Cons: Doussain Pens: Doussain 3