Kept Brahimi's penalty out with a fine save down to his right before making a super stop to deny Adrian late. Had no chance with either goal.
Lack of pace was exposed as Brahimi ghosted past him to win the first-half penalty. Made amends as he hounded Torres to win the ball in the Porto box and create Teixeira's opener.
Got forward well down the right though his final ball was sometimes lacking. Struggled with the pace of Brahimi and Tello, and decided to dive in when he didn't need to in the build-up to the equalizer.
Troubled Danilo with his pace going forward though he was forced into plenty of defensive duties. Put his body on the line on more than one occasion.
Stayed tight to Aboubakar and Martinez to keep the Porto forwards quiet. His excellent display was spoiled somewhat by the handball which led to the second penalty in the game.
Struggled to get into the game as Alex Sandro was able to keep tabs on him for much of the night. Replaced late as Lucescu looked to see the game out.
Strong at the heart of the host's midfield, he did pick up a booking for an accumulation of fouls which affected him later in the game.
Was excellent alongside Fernando as he broke up play well and threw his body in the way of a number of shots around the area.
Was in the right place in the right time to tap in the opening goal but did little else of any note. Saw the game largely pass him by.
Was marked out of the game by Martins Indi, though lack of service did not help. Managed to get himself on the scoresheet with a late tap-in.
Tested Fabiano with a swerving long-range effort inside the opening ten minutes. Was a constant threat on the left-hand side before being replaced late.
Saved well from Taison early but never convinced, especially with his distribution from open play. Had no chance with either goal as his defense let him down.
B. Martins Indi
Solid at the heart of the Porto defense as he looked to keep Adriano quiet. Caught out of position for the second goal though cannot be blamed after Maicon's error.
Struggled with the pace and movement of the Shakhtar attacking players and picked up a booking for his troubles. Caught in possession to allow Adriano to double the host's lead.
Kept possession well at the heart of the visitor's midfield but failed to make any incisive passes. Only effort on goal flew well over the bar.
Kept Costa very quiet on the Shakhtar right, though struggled to get forward as much as he would have liked. Sometimes wasteful in possession in the opposition's half.
Got forward regularly from right back and fired narrowly wide from 25 yards in the first half. Also shot straight at Pyatov in the second half, though at the other end allowed Taison too much room at times.
Showed quick feet to trouble the home side's defense but at times tried to dribble out of defense when a clearance would have done. Paid for his inexperience by losing the ball in his own box for Teixeira's goal.
Pace caused problems on both wings, though he looked more at home on the right. Dragged a good chance wide after fine hold-up play from Aboubakar before crossing for Martinez's stoppage time equalizer.
Was at the heart of the visitor's best attacks as he played some neat through balls into Tello's path. Saw a deflected shot loop narrowly wide.
Fired wide when well placed early but held the ball up superbly in his role as the lone striker. Faded in the second period before being replaced by Martinez.
Showed great skill on a number of occasions to go by defenders, no more so than when winning a penalty from Kucher. Could not convert from 12 yards, though, as Pyatov saved well.
Added some incisiveness to Porto's play after replacing Marcano. Shot wide within seconds of coming on but was a threat around the box.
Saw a shot well saved by Pyatov before his left-wing cross brought about the visitor's second penalty.
Brought on for the final 25 minutes but struggled to make much of an impact until he finished with aplomb from the penalty spot. Then showed great movement moments later to secure a dramatic draw.