Porto came from behind inside the final five minutes of their match against Shakhtar Donetsk to ensure that they finished their Champions League group campaign without a defeat.
The Ukrainian side took the lead shortly after the break through a Taras Stepanenko header, but the Group H winners struck in the 87th minute through Vincent Aboubakar to complete a 1-1 draw.
Both sides were already through to the round of 16 before kickoff.
Here, Sports Mole analyses the result.
Match statistics
PORTO
Shots: 14
On target: 4
Possession: 65%
Corners: 6
Fouls: 13
SHAKHTAR DONETSK
Shots: 6
On target: 3
Possession: 35%
Corners: 7
Fouls: 15
Was the result fair?
Over the course of 90 minutes, the draw was probably the right result. Until Shakhtar took the lead, the hosts had looked the stronger of the two sides, but the Ukrainians dominated for much of the second period. The hosts may feel aggrieved not to have stolen a win in the final moments as they pushed late on, but they were lucky not to have fallen further behind earlier in the match.
Porto's performance
It was a slow start by the home side, but they were dominant before half time, forcing a couple of saves from Andriy Pyatov before the break. A bit of sloppy defending cost them early in the second half as they left the visitors too much room during a corner to open the scoring, but they rallied well and showed character in the final minutes to force the equaliser, although they did rely on a wonderstrike from Vincent Aboubakar.
Shakhtar Donetsk's performance
The visitors had the better of the chances in the early moments, but failed to convert them, not recording a single shot during the first half. They were quick out of the blocks in the second half, but once again could not make the most of their opportunities to increase their advantage after taking the lead, and they switched off late on to allow Aboubakar space to fire home the equaliser. They dominated for brief periods throughout the match, but never truly looked consistent or settled.
Sports Mole's man of the match
Bernard: The Brazilian was making his first Champions League start of the season, and he made the most of the opportunity, providing chances for his teammates from the start. It was Bernard's corner delivery that set up Stepanenko's goal, and he came close to creating a second a short time after, as well as providing several more through-balls and crosses in the first half.
Biggest gaffe
Ilsinho showed some promise getting forward in the first half, but one shot in particular was really poor and wasteful. The defender either tried to cross the ball back for Bernard at the far post, or attempted a finish from a tight angle himself, but the ball ended up going into the crowd after failing to reach the near post. The defender stayed back more in the second half, despite his side having more of the ball.
Referee performance
French official Ruddy Buquet was taking charge of just his second Champions League match, but he set the standard early on, booking Ricardo Quaresma just eight minutes in. While there were a few more yellow cards to hand out, both sets of players made sure that there were no big decision for him to make.
What next?
Porto: Porto face a big match in the Portuguese Liga at the weekend against Benfica before finding out who their last 16 opponents will be on Monday.
Shakhtar Donetsk: While Shakhtar will also be waiting for Monday's draw, they are back in action in just two days when they host Vorskla in the league.