Inter came into this match in first place and a point above Milan, who lost top spot last week following a shock defeat to Spezia.
And it was the Nerazzurri who came racing out the blocks and took the lead after just five minutes as Lukaku breezed past Milan captain Alessio Romagnoli. His first pass was blocked, but for his second attempt he put in a perfect cross which Lautaro Martinez headed home.
Inter goalkeeper Samir Handanovic pulled off a couple of sensational stops to keep the score level as Milan grew into the game throughout the first half.
But Inter extended their lead on 57 minutes when Martinez got his second as he finished off a wonderful team move which saw Achraf Hakimi, Christian Eriksen and Ivan Perisic combine to set the Argentina forward up with a tap-in.
Lukaku got his goal on 66 minutes in stunning fashion as he picked up the ball on the halfway line and ran towards goal before powering his effort into the near post.
It was a disappointing day for Milan goalkeeper Gianluigi Donnarumma who, at 21 years and 361 days, became the youngest player to reach 200 appearances in Serie A history.
Juventus have on the last nine Serie A titles but Inter, now four points clear of Milan and out of every other competition, will be favourites to win the Scudetto for the first time since 2010.
"Lukaku can improve a lot, he is only 27," Martinez told DAZN. "He works very hard and he makes himself available to his team mates also. He is a great person on and off the pitch, we are happy to have him with us."