Seamus Coleman struck early on to give Roberto Martinez's side the advantage, but it took the Belgian to swiftly restore its lead when Gaston Ramirez equalized in the second half.
Seamus Coleman gave the hosts the lead with a marvelous individual effort, but Gaston Ramirez equalized from fully 35 yards with a dipping effort that deceived stand-in goalkeeper Joel Robles.
However, Chelsea loanee Lukaku was on hand to finish a terrific sweeping move just three minutes later and keep Everton in the hunt for European places.
Were it not for Thursday's loss to Sunderland, Everton would have been celebrating an unbeaten year at home, but it responded to that setback with a measured performance in front of its fans.
Defeat for Southampton was its fourth in eight games and leaves it out of the top eight.
Leighton Baines returned to Roberto Martinez's first XI after injury and Robles made his first Premier League start for Everton in place of the suspended Tim Howard. Kelvin Davis returned to the Southampton goal ahead of Paulo Gazzaniga and was called into action by Ross Barkley from Coleman's cross in the third minute.
The hosts' bright start paid off six minutes later when right back Coleman picked the ball up on his flank and burst into the area before smashing an unstoppable strike into the top corner. It was the Irishman's fifth goal of the season, already surpassing his tally for the previous four campaigns combined.
Southampton came into the game game on the back of a rousing 3-0 win over Cardiff City on Thursday but struggled to find any sort of fluency for much of the opening period, seeing Adam Lallana spurn a good chance after weaving through two defenders.
It was nearly made to pay just after the break, when a superb low cross from Bryan Oviedo found Barkley in the six-yard box, but the 20-year old failed to find the target.
Southampton began to find its feet as the game wore on and had multiple chances in a matter of seconds after 65 minutes, Luke Shaw having a low drive blocked before Jay Rodriguez's effort was deflected wide.
Five minutes later it was on level terms in emphatic circumstances when substitute Ramirez sent a wicked swerving effort past Robles and into the roof of the net from distance.
The visitors could not hold on, though, and were behind once again just three minutes later, as substitute Steven Pienaar and James McCarthy combined to give Lukaku a chance, which he finished with aplomb.
Everton pushed for a third in the closing stages, Lukaku firing over and forcing a great save from Kelvin Davis, but a one-goal margin proved enough for victory.