Substitute Ryad Boudebouz's stoppage-time winner sent Saint-Etienne into the Coupe de France final with a dramatic 2-1 victory over defending champions Rennes on Thursday.
A cool finish into the bottom-right corner in the 94th minute from Boudebouz sent the Stade Geoffroy-Guichard into raptures and booked a meeting with Paris Saint-Germain on April 25.
Saint-Etienne started the brighter of the two sides but found themselves behind when M'Baye Niang resoundingly converted a 33rd-minute penalty awarded following William Saliba's foul on Raphinha.
Timothee Kolodziejczak restored parity ahead of half-time and Boudebouz - who had replaced Yann M'Vila in the 83rd minute - struck at the last, with the final whistle followed by a pitch invasion from the jubilant home supporters.
Saint-Etienne started well but Lois Diony spurned two decent chances, one either side of playing in Yohan Cabaye for an effort that was cleared off the line by Damien Da Silva in the 18th minute.
However, it was Rennes who found the back of the net first. Arsenal loanee Saliba caught Raphinha in the box and Niang blasted the penalty into the roof of the net.
The hosts were dealt another blow when Cabaye limped off injured in the 39th minute, but Kolodziejczak ensured they went in at half-time level with a brilliant header from Diony's left-wing delivery.
Mathieu Debuchy made an important clearance with Niang lurking six minutes after the restart, while Romain Del Castillo was booked for diving after cutting inside Saliba.
The game appeared destined for extra time when Rennes goalkeeper Edouard Mendy kept out Debuchy and substitute Charles Abi saw his follow-up effort brilliantly blocked by Hamari Traore.
However, Boudebouz took over when Denis Bouanga got the ball stuck under his feet and sent a cool finish past Mendy from 18 yards to deliver the decisive blow.
What does it mean? Saint-Etienne end 38-year wait
Only PSG and Marseille have won more than Sainte's six Coupe de France titles, but they last lifted the trophy way back in 1977.
Claude Puel has now guided them to a first final since 1982, when they fell to PSG on penalties. They will hope to avoid the same fate at the Stade de France next month.
Two sides of Diony
He may have failed to make the most of a couple of openings in the first half, but Diony's link-up play was crucial in the most threatening moments for his team and he ended the game with an assist.
Real Madrid are reportedly interested in signing 17-year-old Rennes midfielder Eduardo Camavinga but he struggled to justify those links and was a peripheral figure following an early booking.
Saint-Etienne will hope to edge further away from Ligue 1's bottom three when they host Bordeaux on Sunday, when Rennes welcome fellow Champions League hopefuls Montpellier.