Lyon reached their first Coupe de France final for 12 years after beating Ligue 2 strugglers Valenciennes 3-0.
They will play Paris St Germain or Rennes in the final following a victory inspired by captain Alexandre Lacazette at Groupama Stadium.
Lacazette struck twice during a six-minute spell shortly after half-time to subdue a team 28 places below Lyon in the French league pyramid, while Gift Orban added a third.
Valenciennes went into the semi-final clash – their first last-four appearance since 1970 – as rank outsiders.
They are 11 points adrift at the bottom of Ligue 2 and had failed to score a goal in four league games since knocking out quarter-final opponents Rouen.
But it was far from plain-sailing for Lyon, who saw their opponents have a goal disallowed just before the interval.
Valenciennes found themselves under early pressure, with goalkeeper Jean Louchet forced into an early save from Said Benrahma’s shot, before Duje Caleta-Car was off-target from close range.
Although the visitors slowly grew into the game, they again found themselves in defensive mode as Lyon launched another attack, but Ernest Nuamah was wide with a header and then a shot during the space of two minutes.
Valenciennes had been under sustained pressure, yet they had a goal disallowed seven minutes before half-time when Sirine Doucoure’s effort was ruled out following a VAR review that picked up a foul on Lyon’s Jake O’Brien during build-up play.
It was a wake-up call for Lyon, but they could no find way through by half-time as their frustration surfaced when Clinton Mata collected a booking.
But the deadlock was broken six minutes into the second period when a foul by Valenciennes’ Joffrey Cuffaut gave Lacazette a golden opportunity from the penalty spot, and he made no mistake.
Lacazette was booked for excessive celebrations, yet a sense of relief swept around the stadium as Valenciennes’ impressive resistance had finally been broken.
The former Arsenal striker struck again six minutes later when his close-range shot beat Louchet and Orban then added a third as the clock ticked down.