Paris: Holders Paris Saint-Germain edged into the French League Cup final by beating Rennes 3-2 at Roazhon Park on Tuesday, despite seeing Kylian Mbappe sent off on his return from injury.
Thomas Meunier put the visitors ahead with a magnificent volley, before Rennes winger Wahbi Khazri had a goal ruled out for handball after a video assistant referee review.
Brazilian defender Marquinhos tapped in after half-time, before Giovani Lo Celso was gifted PSG's third goal by a dreadful mistake from home goalkeeper Abdoulaye Diallo.
Mbappe saw red after another VAR decision for a terrible foul on Ismaila Sarr, but consolations from Diafra Sakho on his Rennes debut and Sanjin Prcic couldn't prevent PSG from continuing their bid for a fifth consecutive League Cup.
"I think the team kept calm and patient in the first half, and then we made the difference," said PSG coach Unai Emery.
"But Kylian's red card gave them some opportunities to score and get closer to us... But I'm happy with the way the players responded."
PSG are still on track to complete an unprecedented quadruple of the Ligue 1, Champions League, French Cup and French League Cup titles, after extending their winning streak in domestic cup competitions to 37 matches.
The capital club will face either Monaco or Montpellier, who play at the Stade Louis II on Wednesday, in the final on March 31.
Emery made six changes to the team which thrashed Montpellier 4-0 in the league on Saturday, with Mbappe returning from a two-game injury absence and Edinson Cavani rested after breaking the club's all-time goalscoring record at the weekend.
Belgian right-back Meunier, no stranger to spectacular strikes, broke the deadlock in the 24th minute with a wonderful finish from the edge of the area.
The 26-year-old barged his way through a couple of tackles before flicking the bouncing ball with the outside of his right foot, sending it looping over Diallo and in off the far post for his fourth goal of the season.
The hosts thought they had equalised when Khazri took advantage of some woeful defending to stab into the corner, but the referee checked the VAR which showed that the former Sunderland player's first touch had bounced off his arm.
Mbappe had the ball in the back of the net early in the second half but saw the goal ruled out for offside, with the decision upheld after another video review.
The runaway Ligue 1 leaders did double their tally in the 54th minute as centre-back Marquinhos was on hand to tap in after Diallo parried Angel Di Maria's shot.
Diallo was totally at fault for the third, as the Senegalese stopper allowed Lo Celso's tame effort to slip through his legs and bobble into the net.
Mbappe was given a straight red card in the 63rd minute to give Rennes a glimmer of hope.
The 19-year-old twice tried to foul Sarr, and succeeded by raking his studs down the back of the Rennes midfielder's leg while making zero attempt to play the ball.
Referee Mikael Lesage again turned to the video technology before giving Mbappe his marching orders.
Sakho, who had come on at half-time for his debut after joining Rennes from Premier League outfit West Ham, headed home his first goal for the club in the 85th minute.
French international Lassana Diarra was introduced for his first PSG appearance since signing last week, but a long-range strike from Prcic slipped through Kevin Trapp's grasp to set up a nervy final two minutes for the away side.
Although they held on to book their spot in the final, Paris will need to improve before the first leg of their Champions League last-16 tie at Real Madrid on February 14.