Lukaku opened the scoring with a penalty in the 22nd minute, before the Belgian striker doubled the advantage with his 300th career goal for club and country just before half-time.
Lazio piled on the pressure after the break and got themselves back in the game through a bizarre goal from substitute Gonzalo Escalante in the 61st minute.
But Lukaku helped Inter to have the final say three minutes later when he raced clear on the counter before setting up Argentine strike partner Lautaro Martinez to complete the win.
The result moves Inter above Milan onto 50 points from 22 games before the top two meet in next Sunday's mouthwatering derby clash at San Siro (stream live on ESPN+ in the U.S.). It's the first time Inter have been in first at this stage of the Serie A season since Jose Mourinho was their manager in the 2009-10 campaign.
"We now work to stay at the top," Inter defender Milan Skriniar told Sky Sport Italia. "We could have scored more but that is a good sign. We are happy and will enjoy the victory. From tomorrow we start preparing for Sunday's derby."
The visitors dominated possession in the first half, but Inter were a real danger on the break, with Lukaku's pass setting Martinez free before he was adjudged to have been fouled by Lazio defender Wesley Hoedt in the penalty area.
Lukaku was initially flagged offside as he stroked home his second goal and 16th league strike this season, again following a counter-attack, but it was awarded after VAR intervened.
The goal that gave Lazio hope was fortunate as Sergej Milinkovic-Savic's free-kick took a huge deflection off Escalante to wrongfoot Handanovic and roll in.
But Lukaku was simply too quick for Lazio defender Marco Parolo moments later, knocking the ball past the substitute before overpowering him and laying it across for Martinez who had the simple task of tapping into an empty net.
Lazio's first defeat in eight league games leaves them seventh on 40 points.