Lukaku struck from a goalmouth scramble in the 38th minute to win the match for the top-ranked Belgians, who will start the Euros in confident mood after a convincing performance.
They shrugged off a bright start from Croatia to enjoy a comfortable victory, which might have had a more commanding scoreline had they taken all of their chances, as they confirmed their status as one the Euro 2020 favourites.
The goal came when fellow European Championship contenders Croatia failed to clear a corner and Lukaku was first to swivel and hook the ball home after Jason Denayer laid it on for him.
Lukaku had crashed a powerful strike against the crossbar seven minutes earlier as he shrugged off three markers to turn and fire goalwards. Yannick Carrasco was first to the rebound but sent his header against the bar too.
Lukaku should have had a second goal three minutes from the end but Croatia goalkeeper Dominik Livakovic made a goal-line stop at point-blank range to keep out his powerful header.
"I did what I had to do for the team," said Lukaku after the match.
"This result gives us a great feeling. Now it's just a matter of getting a bit sharper and getting the other players 100% ready," he added, with captain Eden Hazard, Kevin De Bruyne and Axel Witsel all battling for fitness.
"Then a lot is possible."
Hazard made his first appearance for Belgium since November 2019 as a substitute for the last eight minutes as he searches for fitness after an injury-plagued season. It increased his chances of starting Saturday's Group B match against Russia in St Petersburg.
Yet there is still doubt over De Bruyne, who is only due to join up with the squad on Monday and suffered a double facial fracture in the Champions League final just over a week ago.
Witsel is only set to play in the knockout stages after Achilles surgery at the start of the year.
Croatia, runners-up at the World Cup three years ago, start their Group D campaign against England at Wembley next Sunday.