The Italian team, winners of this competition three times, reached the last eight for the first time since 2011 after frustrating Porto at the Estadio do Dragao.
Although Porto dominated possession, they 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.
Porto's best 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.
Inter coach Simone Inzaghi started with Edin Dzeko and Lautaro Martinez up front, with first-leg match-winner Romelu Lukaku on the bench, aiming to end their bad run of form away from home.
Porto was without veteran centre-back Pepe and Otavio, who was sent off in the San Siro, but Stephen Eustaquio stepped in for him and impressed.
Despite losing Alessandro Bastoni to injury, Inter held on tightly to their slim first-leg advantage, with Milan Skriniar making his return from injury in the final stages.
Porto's first clear chance of the game came 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 dying moments of the game, Porto's Pepe was sent off for a second yellow card, and Inter survived the late onslaught.