Inter Milan kept alive their unlikely hopes of qualification for the Champions League last 16 with victory over Group B leaders Borussia Monchengladbach.
The German side could have sealed top spot with victory but three points now separate the group’s four teams going into next week’s final round of games.
Alassane Plea cancelled out Matteo Darmian’s opener before half-time.
Lukaku scored twice in nine minutes to make it 3-1, before Plea’s second.
There was late drama as Ashley Young missed an excellent chance to put the result beyond doubt, before a VAR review with seven minutes remaining denied Plea his hat-trick and ensured Antonio Conte’s side remain in this season’s competition for at least one more game.
Real Madrid were beaten 2-0 by Shakhtar Donetsk earlier on Tuesday. It leaves everything still to play for as Real host Monchengladbach and Inter welcome Shakhtar on 9 December.
It had been a miserable European campaign for Conte’s Inter, second in the Italian top flight, but with just two points from their first four Champions League group matches.
Darmian ensured Inter’s early dominance was rewarded as he slotted in from a tight angle after 17 minutes, but Monchengladbach responded well to equalise before the interval.
The momentum shifted again as Lukaku fired in for Conte’s side, two minutes after Lautaro Martinez had struck the post from the edge of the penalty area.
The former Manchester United and Everton striker’s second, from Achraf Hakimi’s assist, looked to have put Inter out of reach, but Marcus Thuram sent in Plea to set up a nervy finale.
Young’s miss from a yard out looked to have cost Inter, but a VAR review found Breel Embolo in an offside position after Plea thought he had sent the Bundesliga side through.
Inter had to win to stand any chance of qualification, but they now have every chance of reaching the knockout stages for the first time since 2012.