Kylian Mbappe scored a hat-trick as Paris Saint-Germain recovered from falling behind to reach the Coupe de France final with a 5-1 triumph over 10-man Lyon.
Thomas Tuchel's side remain on course for a clean sweep of domestic trophies after prevailing in a dress rehearsal for next month's Coupe de la Ligue final in the French capital.
Mbappe was the star turn but the game was closely fought until turning on a handball by Marcal, leading to a second booking for the Lyon defender and a penalty for their opponents.
Neymar coolly converted to make it 2-1, leading to the Brazilian being the target for objects thrown from the stands, and from then on PSG cut loose against 10 men, giving the final score a lopsided look to it.
Mbappe finished a solo run by flashing a shot beyond Anthony Lopes and then tapped home Neymar's cross at the second attempt to complete his treble in added time, with his late double sandwiching a goal from Pablo Sarabia.
Buoyed by back-to-back home wins over Juventus and rivals Saint-Etienne, Lyon had stood toe-to-toe when at full strength, including claiming an early lead when Martin Terrier swept home Karl Toko Ekambi's low cross.
Yet their advantage lasted less than three minutes, Mbappe providing the finishing touch at the back post from close range after Layvin Kurzawa had flicked on Sarabia's corner. The defender's assist for the equaliser came at a personal cost, though, as he suffered a cut in a clash of heads.
Having finished impressively earlier in proceedings, Terrier failed to show such composure when a dummy from Moussa Dembele put him in the clear, poking a tame effort straight at Keylor Navas.
Edinson Cavani had a goal correctly ruled out for offside and also struck the post before the end of the first half, though Lyon were the team in the ascendency until Marcal's indiscretion, with the penalty awarded after a VAR check.
PSG's triumph means they may well get the chance for revenge against Rennes, the team who denied them the trophy last season. The holders are at Saint-Etienne in the second semi-final on Thursday.