Porto have qualified for the Champions League last 16 with a goalless draw with Dynamo Kiev in Ukraine.
The first half of the Group A clash was cagey, with the two sides creating very few clear-cut chances.
Marco Ruben's appeal for a penalty in the seventh minute was turned down when his volley at goal from inside the area hit the arm of Eliaquim Mangala.
Twenty minutes later, Maxim Koval rushed out of his line to intercept a Nicolas Otamendi pass over the top of the Dynamo defence.
Then just after the half-hour mark Joao Moutinho's volley had little power and did not trouble Koval at all.
Koval was forced into making a brilliant save in the 35th minute, when he kept out a powerful header from Jackson Martínez.
Six minutes into the second half, Silvestre Varela could have put Porto in the lead when he latched on to a brilliant pass but failed to keep his shot on target from an excellent position.
Andriy Yarmolenko tested Porto goalkeeper Helton in the 68th minute and then again in the 72nd minute, as the hosts refused to give up their hopes of maximum points.
Both sides went for the winner in the final 15 minutes of the match, with Lucho almost bagging a victory for Porto in the final moments with a shot that went narrowly wide.