The hosts enjoyed the better of play in the opening stages but first-half chances were few-and-far between for both sides with West Ham happy to sit deep and look to counter.
Steven Naismith forced Adrian into a smart near-post stop, before Tim Howard bravely smothered Kevin Nolan for the visitors who introduced Andy Carroll in the first half.
At the other end, the lively Gerard Deulofeu jinked past three defenders before firing wide as it remained deadlocked at the break.
Everton almost found themselves ahead immediately after the restart as Steven Pienaar clipped the post following Leighton Baines’ cut-back and Deulofeu was unable to capitalise on the rebound.
The Toffees eventually took the lead as Lukaku stepped off the bench to guide Baines’ 81st-minute cross past a helpless Adrian, much to the relief of the home crowd.
It was perhaps fitting a striker should decide what was, in the majority, a rather turgid affair on the 34th anniversary of the death of Goodison’s greatest goalscorer Dixie Dean.
With his loan spell due to end in three months, and no prospect of a permanent stay so far, Lukaku will never match Dean’s record of 383 goals in 433 appearances, but this strike was an important one as the Toffees had failed to score in three of their last four league matches and had won just twice since the turn of the year.
That run has seen them drop well off the pace for Champions League contention but this result will give them a much-needed lift.
Up to the goal being scored, the major talking point was referee Jon Moss’ assessment that Gareth Barry had not fouled Nolan just as the West Ham captain looked to be clean through on goal in the first half.
A red card at that point may have changed the outcome, especially with West Ham having won their last four and with four clean sheets in their last five games, and manager Sam Allardyce was visibly aggrieved at the decision.
Everton, who have lost once in 21 league games at home, struggled to trouble Adrian, with only Naismith’s angled strike and Deulofeu’s weaving run through the Hammers’ massed ranks to shoot narrowly wide genuinely threatening.
With the hosts coming up against a barrier – both physical and mental – in the final third, it seemed both sides were happier counter-attacking.
But when Carlton Cole flicked on a ball to Nolan, exploiting a space between the centre-back pair of Sylvain Distin and John Stones, deputising for the injured Phil Jagielka, Barry appeared to have both arms around the Hammers captain’s midriff before he went to ground on the edge of the area, although Moss waved play on.
The introduction of Carroll, on for a frustrated Carlton Cole, saw West Ham raise their game as they started to dominate the physical battle.
Pienaar came closest to scoring less than two minutes into the second half when Baines teed him up for a low shot from the left of the penalty area, but Adrian did enough to tip it on to the post and then recover to claim Deulofeu’s rebounded effort.
Pienaar did not do so well with Baines’ next pass, looping a shot over the crossbar, while Carroll forced Howard to tip over a rasping left-foot effort from distance after Stones’ poor touch and drilled over another powerful half-volley.
Lukaku finally made his return on the hour and Aiden McGeady arrived 10 minutes later, but they struggled to add any life to Everton up front.
That was, however, until eight minutes from time, when Baines’ cut-back picked out Lukaku on the penalty spot and he rammed home left-footed through a crowded box.
Energised, the Belgian was then narrowly over with a volley on the turn but he had already done enough and his strike saw the Toffees overtake Manchester United to move into sixth place.