West Ham battled superbly throughout but two wonderful Baines free-kicks, a powerful Lukaku header were enough for a memorable win, while the sending off of Mark Noble for a second yellow card left Sam Allardyce red-faced on the touch line.
Ravel Morrison had put the hosts ahead after half an hour with his first ever Premier League goal, a lucky strike that took a deflection off Phil Jagielka leaving Tim Howard with no chance.
The introduction of Lukaku at the break helped turn the match in Everton’s favour, however, with the Toffees getting back on terms just after the hour mark thanks to a stunning Baines free kick across Jussi Jaaskelainen into the top left corner.
Noble restored West Ham’s lead with a calm penalty 14 minutes from time, but received his marching orders after a second yellow card for a challenge on Ross Barkley a few yards outside the box.
The West Ham man insisted that he got the ball, but his appeal was waved away and Baines picked up the ball to take the resulting free kick, which was from an almost identical position to his earlier effort.
The shot itself was different, and even better: this time round he smashed it perfectly into the top right corner. The ball cracked in off the upright, leaving Jaaskelainen rooted to the spot and making it 2-2.
Everton pressed forward immediately from the restart, making the most of their numerical advantage, and they found a winner almost immediately as Kevin Mirallas crossed to Lukaku who scored a brave headed goal, hurting himself and Joey O'Brien in the process.
PRE-MATCH: Everton name Romelu Lukaku among the substitutes and keep faith in Nikica Jelavic up front.
31' - GOAL: Jarvis runs at the Everton defence, squares it to Ravel Morrison who scores with a deflected shot from the edge of the box. Ravel Morrison (20 years 231 days) is West Ham's first premier league goal scorer to be born after the start of the English Premier League in 1992.
45' - DOUBLE SUBSTITUTION: A double change for Everton as Lukaku and James McCarthy come on for Jelavic and Naismith. Everton desperately looking to change proceedings as they were poor in the first half.
58' - SHOT: Everton have West ham under severe pressure. In a frantic passage both Baines and Coleman have crosses that Collins cuts out before the ball drops to Oviedo who fires straight at Jaaskelainen.
61' - GOAL: Baines knocks a trade mark free kick into the top right corner. Nothing Jaaskelainen could do about it. Beautiful curl on the ball and Everton get a goal that they deserve.
67' - YELLOW CARD: Noble gets a yellow card for a foul on the impressive Mirallas.
75' - PENALTY: Petric keeps the play alive, he finds Nolan who is brought down in the box and the referree points at the spot.
76' - GOAL: Classy penalty from Mark Noble as he strokes it into the right side of the goal.
80' - RED CARD: Second yellow for Mark Noble as he is sent off for a desperate lunge on Ross Barkley.
82' - GOAL: Baines scores another absolute scorcher. Curls the free kick into the top right. In off the post.
83' GOAL: Brave, brave header from Lukaku. Thumps it into the back of the net from a Mirallas cross.
West Ham's last Barclays Premier League win over Everton came in April 2007 thanks to a Bobby Zamora goal at Upton Park.
Everton remain the only team unbeaten in the Premier League.
TALKING POINT: Romelu Lukaku, who is on loan at Everton, becomes the first Chelsea striker to score this season. Will Jose Mouinho regret letting him leave on a season long loan? He was the difference when he came on a could be the spark that Everton have been searching for to lead their line.
MAN OF THE MATCH
Leighton Baines (Everton) - Showed his class with two super free kicks and yet again he patrolled the left flank with authority, always giving Everton an attacking option.
Jaaskelainen 5, O'Brien 6, Reid 7, Collins 6, Rat 6, Morrison 7, Noble 6, Diame 7, Nolan 6, Jarvis 6, Maiga 5...Subs: Taylor 5, Vaz Te 6, Petric 6.
Howard 6, Coleman 6, Jagielka 6, Distin 6, Baines 8, Barry 6, Osman 6, Mirallas 7, Barkley 7, Naismith 6, Jelavic 5...Subs: McCarthy 6, Lukaku 8, Oviedo 6.
THE MATCH IN A TWEET