Danilo was on target with a second-half penalty as Porto struck back for a 1-1 draw against Basel in the last-16 first-leg Champions League clash at St. Jakob-Park on Wednesday evening.
The visitors had two goals ruled out over the course of the match as they pushed for a leveller after Derlis Gonzalez had put the hosts in front early on, but Porto fought back and their pressure paid off as Danilo made sure the Portuguese giants head into the second leg level.
The hosts took the lead with the first real chance of note after 11 minutes as Paraguay international Gonzalez slotted home his third goal in seven Champions League matches for the Swiss champions.
The 20-year-old collected Fabian Frei's pass just inside the Porto half from outside the 18-yard box and managed to keep his balance as he beat two defenders and fired the ball low, sliding underneath goalkeeper Fabiano to put Basle in front.
Porto's Casemiro came close to netting an equaliser seven minutes later but the on-loan Real Madrid midfielder's header from the edge of the six-yard box was safely collected by home stopper Tomas Vaclik.
The visitors had a half-chance to level on the hour mark as they started to apply the pressure but Jackson Martinez was thwarted by the home defence as he was floored in the box while referee Mark Clattenburg waved play-on, before Danilo sent the ball flying over the crossbar and into the stands.
The away side continued to push and Cristian Tello had the ball in the back of the net 10 minutes before the break, but the offside flag had already gone up.
It looked as if Julen Lopetegui's men had got onto the scoresheet two minutes into the second half as Tello's corner found Maicon at the far post, whose header was punched out by Vaclik before the ball fell to the feet of Brazil midfielder Casemiro to volley home.
But seconds later the goal was disallowed after a brief exchange of words between Clattenburg and his assistant, and the English referee ruled the goal out after ruling the Porto players had impeded the goalkeeper.
Czech stopper Vaclik was forced to parry Tello's close-range shot out for a corner as the game approached the hour mark, while -- five minutes later -- Martinez came close to netting a leveller with a great chance but he fired too high with his close-range effort and instead found the roof of the net.
With just over 10 minutes remaining, Porto levelled through Danilo's penalty after Walter Samuel went to ground in his own box and was unable to avoid handling the ball on the deck.
Danilo made it look easy as he took the resulting spot-kick with a cool short run to fire into the bottom-left of the goal and beat the diving Vaclik as the visitors' pressure finally paid off.