Porto came from behind late on to share a 1-1 draw with Shakhtar Donetsk in their final match of the group stage of the Champions League this evening.
Taras Stepanenko opened the scoring early in the second half, but Vincent Aboubakar found himself in space to fire in an equaliser inside the final five minutes.
The result ensures that Porto, who were already assured of top spot in Group H, finish without a loss in the group campaign this season.
Here, Sports Mole rates the performances of the individual players from both teams.
PORTO
Goal
Andres Fernandes: The Porto goalkeeper did not have a lot to do in the first half, but could have done better with the goal, although he made amends with a couple of stops later in the game. (7/10)
Defence
Maicon: The captain made some crucial blocks when Shakhtar were on top in the second half to ensure that the visitors did not double their lead. (8/10)
Ivan Marcano: The defender made a few clearances and challenges to halt the Shakhtar attack, but struggled while marking Bernard in the first half. (6/10)
Ricardo Pereira: Pereira was quiet in the first half, but got forward late on while the home side were pushing for the equaliser, although he could have done better during the corner that resulted in Shakhtar's goal. (6/10)
Alex Sandro: Sandro was superb at the back and provided a threat in midfield too, working hard to win back possession for the home side in the second half. (7/10)
Midfield
Juan Quintero: The Colombia international had a few chances to open the scoring in the first half, but his finishing touch was lacking this evening, resulting in him being taken off with over 20 minutes to play. (3/10)
Evandro: The midfielder had little impact in the first half, but saw more of the ball after the break, particularly as Porto were rallying to get an equaliser late on. (5/10)
Ruben Neves: The 17-year-old made his first start in the Champions League, and had helped Porto take control of the game late in the first half, but was forced off with a serious-looking injury just before half time. (5/10)
Attack
Ricardo Quaresma: The striker looked sharp in the first half, both creating chances and taking on the shots himself, but he was unable to find the back of the net. (7/10)
Adrian: Adrian received little service from his teammates in the first half, and did not drop back into midfield to help win the ball back for Porto before being substituted early in the second half. (2/10)
Vincent Aboubakar: Aboubakar had a fairly quiet night, having struggled to develop a rapport with Quaresma and Quintero in the early stages, but he was given his chance when he collected a loose ball late on, and produced a fantastic finish to earn the Portuguese side a point. (6/10)
Substitutes
Bruno Martins Indi: The Dutch international played almost 50 minutes after replacing the injured Neves in the first half, and helped slow down the Shakhtar attack as well as contributing going forward. (6/10)
Kelvin: The winger replaced Adrian early in the second half and worked well with Quaresma as Porto pushed for their equaliser. (6/10)
Oliver Torres: Torres took over from Quintero with 20 minutes to play, but had little impact before full time. (3/10)
SHAKHTAR DONETSK
Goal
Andriy Pyatov: The goalkeeper made some solid saves to prevent the visitors from falling behind in the first half, and got a hand to Aboubakar's late strike, but ultimately could not keep the ball out. (7/10)
Defence
Viacheslav Shevcuk: Shevchuk was kept busy late in the first half as Porto dominated, but did well to frustrate Quintero and Adrian. (7/10)
Sergey Krivstov: Krivstov struggled to contain Quaresma in the first half, giving the striker too much space, but was tidier after the break. (5/10)
Yaroslav Rakistskiy: The captain made a couple of vital clearances, including one in stoppage time when Porto were pushing for a winner to ensure that the Ukrainian side held on for the draw. (7/10)
Ilsinho: The defender got forward quite a lot in the first half, teaming up with Bernard, but his poor finishing cost the visitors a couple of decent chances. (4/10)
Midfield
Taras Stepanenko: Stepanenko had not seen too much penalty area action in the first half, but was busy in midfield, and was in the right place at the right time to head in the Shakhtar goal. (7/10)
Fred: The midfielder did not add much going forward, but did work hard defensively in midfield to limit Porto's chances. (5/10)
Bernard: In his first Champions League start this season, Bernard led the attack for the visitors, providing plenty of balls into the box, including the corner delivery that resulted in Shakhtar's goal. (9/10)
Douglas Costa: Costa teamed up well with Bernard, but missed a couple of chances to double Shakhtar's lead in the second half before being substituted late on. (6/10)
Attack
Olexandr Gladkiy: Gladkiy filled in for suspended top scorer Luiz Adriano, but could not match his teammate's goalscoring prowess, having little impact up front. (3/10)
Alex Teixeira: After a quiet start, Teixeira was key to Shaktar's dominance at the start of the second half, leading to the goal, but missed a good opportunity to make it 2-0 shortly after the opener. (7/10)
Substitutes
Marlos: Taking over from Costa with 25 minutes to go, Marlos failed to have the same impact in attack, but did assist at the back during Porto's late surge. (5/10)
Taison: The striker took over from Bernard with 20 minutes to go, and provided some decent balls forward as the visitors pushed for a second goal, but ultimately could not help them build their lead. (6/10)
Fernando: Fernando replaced the goalscorer in the final five minutes, but had little to do as Shakhtar were pinned back inside their own half for much of his time on the pitch. (3/10)