Marseille advanced to its first European final in 14 years after a goal late in extra-time gave it a 3-2 aggregate win over Salzburg in the semifinals of the Europa League on Thursday.
Five minutes after coming on as a substitute, Portuguese defender Rolando volleyed in a corner from captain Dimitri Payet in the 116th minute.
Amadou Haidara, after a solo run, and an own goal from Bouna Sarr had given Salzburg a 2-0 lead in 90 minutes to make up for the 2-0 defeat from the first leg in France a week ago.
Marseille will meet Atletico Madrid in the final in Lyon on May 16 after the Spanish side beat Arsenal 1-0 with a goal from Diego Costa to win 2-1 on aggregate.
"It was a completely crazy match. Thanks to our character we managed to score that goal," said Payet, adding that Marseille would enter the final as "outsiders."
The French club will be aiming for its second European trophy after winning the Champions League 25 years ago. It has not appeared in a final since losing to Valencia in the UEFA Cup in 2004.
"It's been a long season and our character has always been our strength," defender Adil Rami said. "It will be a great match against Atletico. We want to win that final."
The late goal denied Salzburg a chance to become the first Austrian club to reach a European final since Rapid Vienna was beaten by Paris Saint-Germain in the 1996 Cup Winners' Cup.
"We are very disappointed. We had a great Europa League season but forgot to give ourselves the reward for that," Salzburg coach Marco Rose said.
Marseille had few problems in a first half that lacked clear scoring opportunities.
The French side went close in the sixth minute when Rami just failed to meet Payet's curling free kick.
Payet guided Marseille to victory a week ago, setting up both goals, and again he orchestrated most of the team's attacks.
Salzburg dominated possession after the opening 10 minutes but created little danger. Its fast-paced combinations often lacked precision while Marseille defended well.
The home team's only shot on target came after 13 minutes when striker Munas Dabbur tested goalkeeper Yohann Pele with a low strike from just outside the penalty area.
Salzburg stepped up a gear in the second half. Soon after Valere Germain's volley from another Payet cross went wide, Haidara picked up a pass by Stefan Lainer and dribbled past four defenders before beating Pele with the outside of his right foot.
It set off a 15-minute period of frenetic play from the home team and Salzburg drew level on aggregate in the 65th minute.
Rami tried to clear a cross by Haidara but sent the ball straight to Xaver Schlager. The midfielder's effort looked like going wide but it was deflected by Sarr and left Pele stranded.
Marseille bounced back strongly in the last 15 minutes of normal time with Payet finding Florian Thauvin, but his header landed on top of the crossbar.
Salzburg had an escape in the closing minutes when referee Sergei Karasev denied Marseille a penalty although TV replays suggested defender Duje Caleta-Car had handled.
Both teams missed a handful of clear-cut chances in extra-time, most notably Caleta-Car, who had a well-placed header saved by Pele's spectacular dive minutes before Rolando struck. Also, Haidara was sent off with a second booking after pushing his elbow in Payet's face.
"I think we were the better team and had our chances in extra-time," Schlager said. "It was still a super performance from us."