Porto, Braga, Benfica and Villarreal reach Europa semis
Only Spanish side Villarreal stand in the way of an all-Portuguese Europa League final after Braga, Porto and Benfica all reached the last four.
Porto beat Spartak Moscow 5-2 in Russia for a 10-3 aggregate win while Villarreal, their semi-final opponents, crushed FC Twente 8-2 over two legs.
Braga advanced on away goals by holding Dynamo Kiev to a goalless draw on Thursday, after a 1-1 draw in Ukraine.
They now meet Benfica, who beat Dutch club PSV Eindhoven 6-3 on aggregate.
Having won the first leg 5-1, Porto - who this month sealed their 25th domestic title - killed their second-leg tie with three goals in the first hour.
In the first half, Hulk ran clear to slot home before Cristian Rodriguez headed in from a corner and then, just after the break, Fredy Guarin fired in after home keeper Andriy Dykan had palmed away Falcao's shot.
Artem Dzyuba pulled one back with a superb solo effort before Falcao headed Porto's fourth and although Ari added a second Spartak goal from a narrow angle, Ruben Micael had the last word for the visitors.
Villarreal await Porto after finishing off Dutch side Twente in Netherlands.
The Spanish side started with a 5-1 lead from the first leg and despite falling behind to Emir Bajrami's 32nd minute opener, they eventually ran out comfortable winners.
Their cause was helped when home defender Dwight Tiendalli was sent off in the 58th minute for a foul on Jose Catala for a penalty, which Giuseppe Rossi converted.
Bart Buysse's clumsy tackle on substitute Hernan Perez gave the away side another penalty which Marco Ruben scored and Cani added a third five minutes later to wrap up the win.
Ukrainian side Dynamo Kiev were given a superb chance to advance to the semi-finals when opponents Braga were reduced to 10 men midway through the first half of the second leg in Portugal.
Paulo Cesar was rightly shown a straight red card for a late, lunging tackle on Andriy Yarmolenko, leaving the home side with 60 minutes to defend the away goal advantage given to them after last week's tight match in Kiev.
However, Kiev were unable to make the extra man count and to make matters worse finished the game a man light themselves after defender Goran Popov was shown a second yellow in the 88th minute.
The result sets up a tantalising semi-final between Braga, who are third in the Portuguese top division, and Benfica, who are a place above them.
Braga, who finished runner-up in the domestic competition last year to make their debut in the Champions League but then exited Europe's premier club competition in the group stage, have never reached a European semi-final before.
Benfica had to endure some unexpected nervous moments before finally seeing off Dutch side PSV Eindhoven to reach the semis.
The Portuguese side brought a commanding 4-1 lead into the second leg in Netherlands, but found themselves 2-0 down 25 minutes in after Balazs Dzsudzsak converted Jeremain Lens' cross before Lens doubled the lead with a fierce shot.
Luisao silenced the PSV supporters in the 45th minute when he pulled one back for Benfica, acrobatically hitting the ball through the home defence after goalkeeper Andreas Isaksson had palmed a shot away from danger.
Oscar Cardozo levelled from the penalty spot in the 63rd minute to finally settle the tie in Benfica's favour.
The semi-final first legs will be played on 28 April, with the second legs taking place on 5 May.