The final whistle is blown. Porto turned in one of the most remarkable second-half performances you could ever wish to see to take a 5-1 lead into next week's second leg against Villarreal CF. Falcao scored four to take his tally for the season in the competition to 15.
90+2
Marco Ruben (Villarreal) is penalised for a foul on Álvaro Pereira (Porto).
90
Falcao (Porto) scores! Falcao scores his fourth of the night, rising superbly to steer a header beyond Diego López, to give Porto a 5-1 lead and leave Villarreal staring down the barrel ahead of next week's return fixture in Spain.
90
James Rodríguez (Porto) takes the corner.
88
Santi Cazorla (Villarreal) takes the corner.
87
Helton (Porto) makes a save.
87
Santi Cazorla (Villarreal) has an effort on goal.
86
Falcao (Porto) misses the target.
85
James Rodríguez (Porto) takes the corner.
84
James Rodríguez (in) - Hulk (out) (Porto)
83
Santi Cazorla (Villarreal) takes the free-kick.
83
Helton (Porto) is shown a yellow card.
83
Helton (Porto) fouls.
82
Falcao (Porto) is penalised for a foul on Santi Cazorla (Villarreal).
80
João Moutinho (Porto) is penalised for a foul on Bruno Soriano (Villarreal).
79
Souza (in) - Guarín (out) (Porto)
79
Marco Ruben (Villarreal) is flagged for offside.
78
Hulk (Porto) takes the corner.
77
Mubarak (Villarreal) is penalised for a foul on Hulk (Porto).
75
Falcao (Porto) scores! Porto have been superb in this second half and now have their fourth goal since the interval. Falcao is again the scorer, heading past Diego López to wrap up his third hat-trick in the competition this season. He now has 14 goals in all.
75
Guarín (Porto) takes the free-kick.
74
Catalá (Villarreal) gives away a free-kick for a challenge on Hulk (Porto).
73
Catalá (Villarreal) is booked.
73
Rossi (Villarreal) takes the free-kick.
73
Guarín (Porto) gives away a free-kick for a challenge on Mubarak (Villarreal).
72
Helton (Porto) makes a save.
72
Santi Cazorla (Villarreal) has an effort on goal.
72
Santi Cazorla (Villarreal) takes the free-kick.
72
Marco Ruben (in) - Nilmar (out) (Villarreal)
72
Varela (in) - Cristian Rodríguez (out) (Porto)
71
Matilla (in) - Cani (out) (Villarreal)
70
Rolando (Porto) gives away a free-kick for a challenge on Rossi (Villarreal).
70
Săpunaru (Porto) gives away a free-kick for a challenge on Mubarak (Villarreal).
69
Rossi (Villarreal) gives away a free-kick for a challenge on Rolando (Porto).
67
Falcao (Porto) scores! This has been a simply remarkable second half so far and Porto are rampant. Hulk does the damage, down the right, beating his man and crossing to lay on Falcao for the simplest of finishes and his 13th goal in the competition.
67
Mubarak (in) - Borja Valero (out) (Villarreal)
61
Guarín (Porto) scores! Fredy Guarín completes a swift turnaround for the hosts, reacting quickly to head past Diego López after the Villarreal keeper had kept out his initial effort.
61
Guarín (Porto) misses the target.
58
Bruno Soriano (Villarreal) gives away a free-kick for a challenge on Guarín (Porto).
57
Álvaro Pereira (Porto) gives away a free-kick for a challenge on Borja Valero (Villarreal).
55
Rossi (Villarreal) is adjudged to be in an offside position.
54
Cristian Rodríguez (Porto) misses the target.
54
João Moutinho (Porto) takes the free-kick.
53
Cani (Villarreal) gives away a free-kick for a challenge on Hulk (Porto).
52
Nilmar (Villarreal) is adjudged to be in an offside position.
49
Falcao (Porto) scores from the penalty spot. Porto are level from the penalty spot, Falcao making no mistake after being brought down by Villarreal goalkeeper Diego López. The tournament's leading scorer now has 12 goals in the competition, two more than Villarreal's Giuseppe Rossi.
48
Diego López (Villarreal) gives away a free-kick for a challenge on Hulk (Porto).
48
Diego López (Villarreal) is shown a yellow card.
46
Guarín (Porto) misses the target.
The second half begins.
The referee blows for half-time. John Atkin, Estádio do Dragão: Cani gives Villarreal a half-time lead and it is hard to argue they did not deserve it. They have attacked with pace and intelligence - in fact, they look more like the side on a 12-match winning run than Porto.
45+2
João Moutinho (Porto) delivers the corner.
45+2
Diego López (Villarreal) makes a save.
45+2
Hulk (Porto) has an effort on goal.
45
Cani (Villarreal) scores! Porto may have shown plenty of adventure, but Villarreal have had the better chances and are now in front. Nilmar provides the cross from the right, whipping the ball in superbly for Cani to glance a header past Helton.
44
Rossi (Villarreal) is adjudged to be in an offside position.
42
Diego López (Villarreal) makes a save.
42
Cristian Rodríguez (Porto) has an effort on goal.
42
Guarín (Porto) misses the target.
41
Borja Valero (Villarreal) is shown a yellow card.
41
Borja Valero (Villarreal) gives away a free-kick for a challenge on Álvaro Pereira (Porto).
40
Săpunaru (Porto) misses the target.
38
Diego López (Villarreal) makes a save.
38
Guarín (Porto) has an effort on goal.
37
Álvaro Pereira (Porto) gives away a free-kick for a challenge on Borja Valero (Villarreal).
35
Rossi (Villarreal) misses the target.
32
João Moutinho (Porto) delivers the corner.
31
Hulk (Porto) misses the target.
30
Rossi (Villarreal) gives away a free-kick for a challenge on Rolando (Porto).
29
Santi Cazorla (Villarreal) has an effort on goal.
29
Rossi (Villarreal) delivers the corner.
26
Hulk (Porto) is booked.
24
Hulk (Porto) misses the target.
24
Hulk (Porto) takes the free-kick.
23
Musacchio (Villarreal) gives away a free-kick for a challenge on Falcao (Porto).
20
Fernando (Porto) gives away a free-kick for a challenge on Nilmar (Villarreal).
16
Rossi (Villarreal) is adjudged to be in an offside position.
15
João Moutinho (Porto) delivers the corner.
13
Rossi (Villarreal) delivers the corner.
10
Hulk (Porto) is adjudged to be in an offside position.
10
Hulk (Porto) takes the free-kick.
9
Santi Cazorla (Villarreal) gives away a free-kick for a challenge on João Moutinho (Porto).
9
Hulk (Porto) delivers the corner.
7
Borja Valero (Villarreal) delivers the corner.
7
Helton (Porto) makes a save.
7
Nilmar (Villarreal) has an effort on goal.
6
Fernando (Porto) gives away a free-kick for a challenge on Nilmar (Villarreal).
5
Fernando (Porto) is booked.
2
João Moutinho (Porto) gives away a free-kick for a challenge on Borja Valero (Villarreal).
1
Hulk (Porto) is adjudged to be in an offside position.