Porto and Braga sealed semi-final wins to set up an all-Portuguese Europa League final in Dublin on 18 May.
Braga overcame a 2-1 first-leg deficit with a narrow 1-0 second-leg victory at home to beat Benfica on away goals.
Porto, who had virtually assured themselves of a place in the final after a first leg 5-1 victory, reached the final despite losing 3-2 in Spain.
Falcao set a new record for most goals in a European campaign with his 16th for Porto in this season’s competition.
The defeat for Porto ended a run of five successive European wins but nonetheless they are now one game away from securing their first European crown since former boss Jose Mourinho led them to Champions League glory in 2004.
“We were very competent over the two legs,” said Porto coach Andre Villas-Boas.
“Villarreal was very aggressive and we kept having to adapt. They made life difficult for us, as we had expected.”
In the other semi-final Braga were made to work much harder by fellow Portuguese side Benfica to secure what will be first appearance in a major European final.
With Benfica holding a 2-1 advantage from the first leg in the Estadio da Luz, the home side scored the crucial goal in the 18th minute when Custodio was allowed to rise unchallenged to head home.
This was Braga’s eighth clean sheet in nine European games.
“I think we deserve the final after this great run we’ve had,” said Braga coach Domingos Paciencia. “We’ve proved we’re good enough and we’ll be looking to do it again in the final.”