Porto ease into Europa League Final
Villarreal won 3-2 on the night, making a storming start in front of their own fans in a brave attempt to overturn a 5-1 first-leg deficit.
Cani netted after a well-worked move in the 17th minute, but against the run of play Hulk levelled with a deflected shot just before the break.
Early in the second half, tournament top scorer Falcao made it 2-1 with his fifth of the semi-final and 16th of the competition while late goals from Joan Capdevila and Giuseppe Rossi, from the penalty spot, gave Villarreal a pyrrhic victory.
Porto meet compatriots Braga in the Dublin final on May 18.
"It's a dream," Colombian Falcao told Portuguese television.
"When I came to Europe I dreamed of doing big things and Porto is a top-quality team. I knew we could achieve this type of feat. We've taken a big step but now we have to take the final one, the game in Dublin."
Villarreal coach Juan Carlos Garrido was not giving up and lined up with three strikers at the Madrigal and they created a flurry of chances in a frantic opening period.
A trademark quick-passing move led to Marco Ruben crossing low for Cani to slide in and open the scoring but the second goal refused to arrive and Porto started to threaten on the break.
Hulk burst down the middle of the pitch in the 40th minute, shrugging off the attentions of Javier Matilla, and his fierce drive deflected off Mateo Musacchio, wrong-footing Diego Lopez, and bounced into the net.
The equaliser silenced the rowdy home crowd which was further subdued three minutes after the re-start when Falcao collected Fredy Guarin's cross and beat Lopez from close range.
Capdevila volleyed in an equaliser at the back post in the 75th minute and Rossi converted from the penalty spot after Ruben was felled in the area with 10 minutes to go.