Villarreal took the lead on the stroke of half-time through Cani but Porto, led by the prolific Falcao, hit back with five goals in a stunning display after the break to take total control of the semi-final.
Falcao won and converted a penalty to draw Porto level and, after Fredy Guarin had made it 2-1 to the hosts, the Colombia international netted further goals in the 67th, 75th and 90th minutes to complete a remarkable comeback from Andre Villas-Boas' in-form side.
Porto came into the match having won their last 12 competitive matches, during which run they clinched their domestic league title and progressed through to the Portuguese cup final, but it was visitors Villarreal who looked the more dangerous early on.
The Yellow Submarine, who are seeking their first major trophy, had a great chance to take the lead after just six minutes when Nilmar was sent through on goal, but the Brazilian saw his near-post shot parried away by Porto goalkeeper Helton.
Giuseppe Rossi also had a good opportunity for the Spaniards in the 28th minute when he rounded Helton but his shot from a tight angle was blocked by the sliding Rolando as Villarreal were denied a second time.
Porto also went close in the first half when Hulk's shot from the edge of the area clipped the outside of the post, but it would be Villarreal who boasted the lead at the break thanks to Cani.
Nilmar curled in a cross to the near post and Cani, having got in between Fernando and Helton, headed past the Porto goalkeeper.
Judging by how close the first half was, that looked set to be a priceless away goal - but Porto's second-half performance means that strike should now be immaterial.
Porto needed just four minutes of the second period to draw level, when Falcao beat Diego Lopez in a race for Guarin's through-ball and went crashing over the Villarreal goalkeeper.
Falcao, who came into the match as the leading scorer in this season's Europa League with 11 goals, sent Lopez the wrong way from the spot to even up the scores.
Porto got their noses in front just after the hour mark, with Guarin the goalscorer. Guarin saw his first effort come back off the near post and the keeper but he was quickest to the loose ball to head through the legs of Lopez.
Falcao saw a good chance go begging as he slipped at the wrong time but he made it 3-1 in the 67th minute with a tap-in following good work down the right by Hulk.
He then added two more goals from headers in the final 16 minutes to seal a fantastic victory for the home side.
Falco made it 4-1 in the 74th minute with a brilliant diving header into the top corner - virtually taking the ball off the toe of team-mate Nicolas Otamendi - as the Villarreal defence appealed in vain for offside.
Then, in the final minute, he guided James Rodriguez's corner back across Lopez and into the far side of the net to put the icing on the cake for Porto.
FC Porto 5-1 Villarreal: Match Report - view commentary, squad, and statictics of the game as it happened.