Porto substitute Jackson Martinez scored two last-gasp goals to rescue a 2-2 Champions League draw against Shakhtar Donetsk in Lviv.
Second-half strikes from Alex Teixeira and Luiz Adriano had given Shakhtar a 2-0 lead, but Martinez halved the deficit with an 89th-minute penalty and slotted home Porto's equaliser a minute into stoppage time to spare team-mate Yacine Brahimi's blushes after he missed a first-half spot-kick.
Porto top Group H with four points from their two games after Athletic Bilbao slumped to a surprise 2-1 defeat against Belarusian side BATE Borisov.
Shakhtar had the first clear-cut chance of the game in the 11th minute when Freda Taison cut inside and unleashed a ferocious shot from the edge of the penalty area that Porto goalkeeper Fabiano did well to tip over the crossbar.
At the other end, full-back Danilo was inches away from giving Porto the lead when he rode a strong tackle from Marcio Azevedo and unleashed a powerful drive from the right-hand edge of the area that sailed narrowly wide.
Referee Cuneyt Cakir awarded Porto a penalty 10 minutes before half-time when Olexander Kucher found himself on the wrong side of Brahimi and, in trying to get goal-side, succeeded only in tripping the Algeria striker.
Brahimi, Porto's hat-trick hero in their 6-0 thrashing of BATE a fortnight ago, went for precision but Shakhtar keeper Andrei Pyatov guessed correctly and parried the left-sided shot to safety.
Porto forward Cristian Tello found himself in plenty of space down the left channel but, with only Pyatov to beat, he dragged his shot wide of the far post and the teams went into the interval on equal terms.
Porto were made to pay for their profligacy, however, when Shakhtar took the lead seven minutes into the second half.
Defender Oliver Torres attempted to dribble his way out of trouble in the Porto penalty area, but Olexander Kucher dispossessed him and found Teixeira, who slotted past the despairing Fabiano from close range.
Porto coach Julen Lopetegui responded by bringing on Martinez and Juan Quintero and the pair nearly made an immediate impact with long-range efforts that narrowly missed the target.
Shakhtar boss Mircea Lucescu countered by introducing Bernard and Junior Ilsinho and they were two goals to the good when Adriano guided the latter's back-post cross into the net.
At that point, the hosts looked set to claim the victory. But there was to be a late twist in the tale.
Martinez set up a dramatic finale when he converted a second Porto penalty after Yaroslav Rakitskiy was penalised for handball, and the Colombia striker slotted home Tello's near-post cross moments later to earn a precious point for his side.