Danilo's 79th-minute penalty gave Porto a deserved equaliser as their 1-1 draw at Basel moved them a step closer to the UEFA Champions League quarter-finals.
Wednesday's first leg of the round of 16 clash in Switzerland was completely dominated by the visitors, who fell behind in the 11th minute to a Derlis Gonzalez strike.
That would prove be Basel's only meaningful attack of the game though, as two-time winners Porto ramped up the pressure, with Cristian Tello denied a leveller by the offside flag late in the first half.
Casemiro was next to have a goal chalked off, after his flick from a corner was ruled out for interference on Basel goalkeeper Tomas Vaclik.
Porto were celebrating for an extended period following the goal but, following consultation from his officials, referee Mark Clattenburg - correctly - ruled that Vaclik had been impeded by both Jackson Martinez and Ivan Marcano in his attempt to save the effort.
Julen Lopetegui's men finally got back on level terms with 11 minutes to play, however, after Walter Samuel was penalised for a handball from Danilo's cross.
Samuel's intervention was not deliberate but it was a clear penalty, with Danilo dispatching the spot-kick into the bottom-left corner to give his side an all-important away goal.
Porto will now be favourites to progress to the last eight when they host the second leg on March 10.
Porto, who had won just one of their last 13 away matches in the competition's knockout stages, made the brighter start, but it was Basel who would take the lead with their first chance of the game.
Fabian Frei's ball in and behind the Porto defence sent Gonzalez free and his excellent first touch set up a chance on goal.
Defenders Alex Sandro and Maicon were closing in but Gonzalez did just enough to prod the ball past onrushing goalkeeper Fabiano and into the bottom-left corner before the pair collided.
Gonzalez required treatment after his goal and was eventually taken off in the 25th minute, replaced by Davide Calla.
Basel were happy to sit back following their opener but Danilo gave them a scare when his 25-yard effort required a clever save from Vaclik.
And Porto had claims for a penalty when Martinez went to ground under close attention from Samuel on the half-hour mark.
Samuel pulled the captain's armband, worn by the Porto forward, off as the pair tangled but perhaps the Colombian's theatrical fall went against him as Clattenburg waved play on.
Tello was denied by the offside flag as the first half drew to a close and once play resumed, Porto had another goal ruled out.
That did not deter the Portuguese giants though, with Vaclik required to keep out a smart Tello effort from an acute angle in the 58th minute.
A heavy first touch then robbed Martinez of a quick shot on goal, although he was still clever enough to lift an effort over Vaclik - only to see his effort drop onto the roof of the net.
The avalanche of Porto attacks continued as Hector Herrera tried his luck from distance against a Basel side that had still registered just one shot on target before the equaliser finally came.
Samuel could not get his arm out of the way from Danilo's cross and the 23-year-old stepped up to take the penalty, scoring emphatically to give his side the upper hand in the tie.comments