The French club led 2-0 from the opening leg at home, but a flat performance from Rudi Garcia's men opened the door for Salzburg to battle its way back into the tie with a 2-0 victory over the 90 minutes at Red Bull Arena.
Throughout a low-quality first half a Salzburg comeback appeared improbable, but two goals in 12 minutes got the Austrian side level on aggregate and dreaming of a place in the final.
Amadou Haidara's brilliant solo goal sparked life into Marco Rose's side and when Bouna Sarr could only deflect a shot from Xaver Schlager into his own net, the tie was level.
But Marseille struck the winner with four minutes of extra-time to go, substitute Rolando finishing well from a Dimitri Payet corner to spark delirious celebrations.
Salzburg's players remonstrated furiously that the set-piece was incorrectly awarded and, left needing two goals to advance, lost discipline in the closing stages as Marseille progressed to the final on home soil, where it will play Atletico Madrid in Lyon on 17 May (AEST).
Haidara was dismissed for a second yellow card after lashing out at Payet, with Rose storming onto the field at full-time to confront referee Sergei Karasev and his officiating team.