Real Betis came from behind to beat Porto to make it two wins from two in the Champions League and claim a first home victory in the competition in over 20 years.
Goals from Gabri Veiga and Samu Aghehowa turned the game in Porto's favour after Abde Ezzalzouli gave Betis the lead, before Betis striker Cucho Hernandez dragged the hosts level and Isco converted from the penalty spot.
Real Betis dominated the first-half chances, but it was Porto who felt they should have gone into half-time with a lead - Martim Fernandes' strike from close range was ruled out after a video assistant referee check because of a handball by Borja Sainz in the build-up.
The second half exploded into life after 80 seconds when Betis winger Ezzalzouli produced a stunning curling effort from the edge of the penalty area.
Former Manchester United winger Antony should have doubled the hosts' lead when he hit the post two minutes later after pouncing on a loose ball, and Betis were soon made to pay.
Seven minutes after going behind, Porto midfielder Veiga curled a free-kick past Betis goalkeeper Alvaro Valles from 25 yards out.
Seven minutes later, half-time introduction Aghehowa ran on to a cute Pepe backheel and rifled in off the underside of the crossbar to complete the Porto turnaround and cap a frantic start to the second half.
Betis looked at risk of crumbling, but to their credit regrouped and drew level when substitute Hernandez converted from an Antony cutback 12 minutes after replacing the ineffective Troy Parrott.
The Spanish side were awarded a penalty in the 83rd minute after a video assistant referee check spotted a trip on Angel Ortiz, and captain Isco slotted into the bottom corner.
This is Betis' second home win in Champions League history, the first coming against Chelsea in November 2005.
Next up for Betis is a home meeting with Feyenoord on Wednesday, 21 October (20:00 BST), while Porto will host PSV Eindhoven on Tuesday, 20 October (20:00 BST).