Porto: Inter Milan held off Porto in a gritty 0-0 draw on Tuesday to reach the Champions League quarter-finals, with a 1-0 aggregate triumph.
The Italian side, three-time winners of this competition, progressed to the last eight for the first time since 2011.
For the first time since 2006, both Inter and AC Milan have reached the quarter-finals.
Clutching a one-goal advantage from Romelu Lukaku's last 16 first leg late winner, Inter set up to frustrate at the Estadio do Dragao.
Porto had the better of the game but only managed to test Inter goalkeeper Andre Onana on a few occasions and failed to make the last eight for the third time in their last five attempts.
Their finest chances came in stoppage time at the end, when Mehdi Taremi and Marko Grujic both hit the woodwork and Marcano had an effort cleared off the line.
"There are so many emotions right now, after so many years we are proud of this achievement," Inter midfielder Hakan Calhanoglu said.
"We made some mistakes but we did a great job, it was very difficult but I congratulate the team for the great job."
Inter have faced criticism for their domestic form but Calhanoglu said this game provided a morale boost.
"Anything can happen in the Champions League -- this match restores motivation for us," he added.
"We did a great job, we didn't score but we worked hard until the final whistle and we qualified."
Inter coach Simone Inzaghi, aiming to end a bad run of form away from home, started with Edin Dzeko and Lautaro Martinez up front, with first-leg match-winner Romelu Lukaku on the bench.
Porto have a strong recent record against Italian sides, knocking out Juventus and Roma in recent years, but the Portuguese champions could not score against Inter in 180 minutes.
They were unable to include veteran centre-back Pepe, 40, in the squad, shorn of their captain at the last minute.
Porto were also without Otavio, sent off at the San Siro, but Stephen Eustaquio stepped in for him and impressed.
Matheus Uribe lashed a vicious strike just wide of Inter's goal early on, while Porto goalkeeper Diogo Costa made solid saves from Dzeko and Nicolo Barella.
Sergio Conceicao's side were in the ascendancy for much of the first half and only a fine sliding block by Federico Dimarco denied Evanilson.
The hosts might have taken the lead just before the break but Eustaquio could not reach Brazilian winger Pepe's tempting cross.
- Desperate Porto -
Grujic tested Andre Onana with a low drive as Porto's urgency rose, while Galeno also forced the Cameroon international into a save.
Inter lost Alessandro Bastoni to an apparent hamstring injury, but held on tightly to their slim first-leg advantage.
Milan Skriniar made his return from injury in the final stages as Inzaghi's side knuckled down and denied Porto at every turn.
Porto's first clear chance of the game arrived deep in stoppage time, when Marcano's effort was cleared off the line by Denzel Dumfries.
The Portuguese side struck the woodwork twice in an agonising finale, with Onana pushing Taremi's header onto the post, before Grujic nodded against the crossbar.
"In the second half we were better, more possession and more opportunities -- I still can't believe the ball didn't go in," Grujic said.
"The fans were supportive and it was good to see that they understood that we gave everything. We really wanted to win the game.
"The Dragao atmosphere was spectacular and now we are very disappointed."
Porto's wide man Pepe was sent off for a second yellow card at the death, with Inter surviving the late onslaught.
The Italians have only won one game on the road in 2023 and Inzaghi is under pressure, but progression to the quarter-finals buys him more breathing room.