Sporting conjured a great escape from the brink of elimination against Newcastle United to reach the UEFA Cup semi-finals on Thursday.
The Portuguese side, who will host the final at their Alvalade stadium on May 18, looked to be heading out after Kieron Dyer's 20th-minute goal put Newcastle 1-0 up on the night and 2-0 ahead on aggregate.
Sporting, though, hit back through striker Marius Nicolae's header before halftime and turned the tie around after the interval with goals by Sa Pinto (71 minutes), Beto (77) and Fabio Rochemback in stoppage time to seal a 4-2 aggregate win.
"In the second half, we were strong. We believed we could win the tie," a relieved Sporting coach Jose Peseiro said. "It was a fair win against a good Newcastle team."
Newcastle coach Graham Souness, a former coach at Lisbon rivals Benfica, said: "Luck was against us. We missed some good opportunities to win the game."
Sporting will meet AZ Alkmaar in the last four after the Dutch side rekindled memories of their run to the 1981 final by overcoming Villarreal in a stormy encounter at the Alkmaarderhout stadium.
CSKA Moscow, 4-0 up from the first leg, cruised into their first European semi-final despite losing the return 2-0 to AJ Auxerre. The Russian side will play twice former winners Parma after the Serie A side secured their passage against Austria Vienna on the away goals rule.
AZ maintained their unbeaten home record in European competition, a 1-1 draw enough to dump out last season's semi-finalists Villarreal.
The hosts, 2-1 up from the first leg, rocked the Spanish Primera Liga side with an early strike from Danish international Kenneth Perez, who beat Jose Manuel Reina with a crisp low drive after eight minutes.
Both sides were reduced to 10 men midway through the first half. Referee Roberto Rosetti sent off AZ defender Barry Opdam for a late challenge and in the ensuing melee Villarreal's Jose Mari was shown a straight red for pushing Barry van Galen to the ground.
Argentine striker Luciano Figueroa gave Villarreal hope with a 72nd minute tap-in and compatriot Juan Roman Riquelme went agonisingly close to forcing extra time but his free kick hit the post.
CSKA already had one-foot in the semi-finals after thrashing Auxerre 4-0 in Moscow but the French side restored some pride with a 2-0 return win.
Yann Lachuer's fine finish on nine minutes gave Auxerre a glimmer of hope but they had to wait until 11 minutes from time for their second, Bonaventure Kalou converting a penalty.
Parma's dogged defensive display coupled with some wasteful finishing by Austria Vienna put the Serie A side into the semi-finals to brighten a season spent fighting against relegation.
Keeper Luca Bucci pulled off two superb saves in a goalless draw that put Parma through 1-1 on aggregate thanks to their away goal in the first leg.
"We suffered tonight," said Parma coach Pietro Carmignani, denying his side had played negatively.
"We wanted to defend our away goal and I think the final result has proved our tactics to be right."