Both sides went close during the opening 45 minutes, but the two goalkeepers made a number of important stops to ensure that the contest remained goalless at the break, including a fine save from Diogo Costa in first-half stoppage time to thwart Alessandro Bastoni.
Although chances came and went in the second period, it seemed as though the first leg was destined to finish all square until Otavio's red card put Porto on the back foot.
Inter subsequently took full advantage as Lukaku swept home his fourth goal of the season after initially hitting the post to give the Italian side a narrow first leg lead.
Inter are now unbeaten in six games in all competitions, while Porto lose for the first time since a 1-0 defeat to Benfica in October.
With the home support spurring them on, Lautaro Martinez wasted a promising opportunity to open the scoring in the 13th minute.
The Argentina international crept in unmarked at the back post to meet Federico Dimarco's dangerous cross, but he was unable to keep his headed effort on target.
Just moments later, Hakan Calhanoglu attempted to catch Costa off-guard from a short-corner routine, whipping the ball towards the front post where the Porto goalkeeper was on hand to palm over his crossbar.
After spending the majority of the first period on the back foot, Porto tested Andre Onana in the 37th minute following a passage of neat interplay.
Mehdi Taremi's sublime back-heel teed up Marko Grujic to force Onana into action with a thumping strike, before Galeno headed harmlessly wide from the subsequent rebound.
There was still time in the first half for Costa to produce a superb reaction save to prevent Bastoni's glancing header from sneaking in at the near post.
After having 15 minutes to replenish their energy levels, both sides flew out of the blocks following the restart.
Nicolo Barella sent a quickly-taken shot agonisingly wide of the Porto goal, before Onana scrambled down to his left to stop Taremi's right-foot strike.
The Inter goalkeeper was required again just two minutes later, pulling off a remarkable double save to thwart Zaidu Sanusi and Taremi.
As the game progressed, Porto seemed content with the draw and began to drop deeper as a result, but their task was made all the more difficult when Otavio was shown a second yellow card for a foul on Calhanoglu with just over 10 minutes remaining.
Inter made full use of the numerical advantage thanks to substitute Lukaku's second goal in as many games.
Lukaku's initial effort crashed against the post, but he made no mistake from the rebound as he simply guided the ball into the awaiting net.
The Belgium international attempted to add a quick second, but a strong save from Costa ensured that the deficit will be just one goal when the two teams meet in Portugal in three weeks' time.