In-form Romelu Lukaku's 12th goal in as many matches gave Everton a deserved 2-1 victory over lacklustre Manchester City in their Capital One Cup semi-final first leg at Goodison Park.
The Belgium international's 19th goal of an increasingly impressive season capped a dominant Toffees' performance against the three-time League Cup winners - but it came at a cost as the striker limped off with nine minutes to go.
Centre-back Ramiro Funes Mori had given the hosts the lead on the stroke of half-time before substitute Jesus Navas' first goal since September 2014 levelled things up with 14 minutes to go - but that lasted for less than two minutes.
Roberto Martinez's unbeaten record at Goodison in cup matches extends to nine matches, with seven wins as manager of Everton and previously Wigan.
A talking point before kick-off was both sides' change of goalkeeper - Martinez restoring Joel Robles for the cup competition - although there has been a growing clamour for the Spaniard to be given a longer run at the expense of Tim Howard - and Willy Caballero replacing Joe Hart.
They were decisions which proved to be instrumental as Everton's number one made an excellent save from Kevin de Bruyne in the second half, while Hart might have dealt better with Ross Barkley's shot better which led to the opening goal.
Funes Mori rammed home the rebound in first-half added time after Caballero, possibly distracted by Lukaku in an offside position in front of him, pushed the ball straight back out instead of diverting it sideways away from danger.
It capped a cagey first half in which City appeared to be going through the motions - Yaya Toure a notable offender as he found himself in the pocket of the excellent Mo Besic - with De Bruyne and David Silva shooting wide and Nicolas Otamendi off-target with a header.
It led to a tense atmosphere inside Goodison which was only broken by the second loudest cheer of the night, when Besic tracked back to dispossess Toure with a brilliant recovering tackle.
Everton twice had the ball in the net through John Stones and Lukaku, only to be rightly flagged for offside on both occasions - even if they did appear to benefit from the lack of a linesman's flag when it really counted.
Robles had hardly been tested but he reacted well to parry Sergio Aguero's shot and Funes Mori blocked the Argentinian's rebounded effort before taking greater decisive action at the other end.
Aguero, rarely involved for an hour, sliced a good opportunity wide and Fernandinho headed into the arms of Robles - but Everton dominated the early stages of the second half.
Caballero blocked Barkley's angled shot after muscling Otamendi off the ball, while half-time substitute Martin Demichelis almost turned Leighton Baines' cross into his own net.
Robles' brilliant low save from De Bruyne fully justified his inclusion but he was powerless to prevent Navas' equaliser after Everton were caught by a rapid counter-attack which left them three on three at the back. Seamus Coleman allowed Aguero to turn him far too easily and lay on the pass for the equaliser.
City, with all their quality and experience, should have at least seen out the game from there but Barry's inviting cross asked to be finished off and Lukaku obliged with a powerful header.
The hosts finished the match with 10 men as Coleman hobbled off after Lukaku's departure used up their third substitute - but in the short time which remained the visitors could not make the numerical advantage pay.
TWEET OF THE MATCH
"That's why he never scores... He's bloody left footed!! Class goal #MCFC" - former City star Francis Lee (@FrannyLee7) reacts to Jesus Navas' equaliser: https://twitter.com/FrannyLee7/status/684850964700999681
Joel Robles: 7
Seamus Coleman: 6
John Stones: 7
Ramiro Funes Mori: 7
Leighton Baines: 7
Tom Cleverley: 5
Gareth Barry: 7
Mohamed Besic: 9
Gerard Deulofeu: 6
Ross Barkley: 8
Romelu Lukaku: 8
Leon Osman: 6
Kevin Mirallas: 7
Arouna Kone: 6
Willy Caballero: 5
Bacary Sagna: 6
Eliaquim Mangala: 6
Nicolas Otamendi: 8
Gael Clichy: 6
Fabian Delph: 6
Yaya Toure: 5
Kevin De Bruyne: 6
David Silva: 6
Sergio Aguero: 7
Martin Demichelis: 6
Jesus Navas: 7
Mohamed Besic. Showed he was up for the fight with a couple of rash challenges early on and settled down to deliver a highly influential display. He made some powerful runs with the ball and was committed in defence. Yaya Toure got no joy out of him.
MOMENT OF THE MATCH
Romelu Lukaku's winner. Just moments after Jesus Navas had equalised, Lukaku popped up in the right place to ensure Everton's superior effort on the night would be rewarded with a first-leg victory. The Belgian had otherwise had a frustrating night, being caught offside several times, but battled on and underlined his class.
VIEW FROM THE BENCH
If Roberto Martinez planned for his Everton side to sit back and absorb everything City could throw at them early on before striking back, then it worked perfectly. Everton and their fans seemed subdued in the opening 20 minutes but City could not capitalise on their dominance and create any meaningful chances.
City boss Manuel Pellegrini will be frustrated his side were unable to respond once Everton started to gain the upper hand, but he perhaps shrewdly switched to damage limitation mode in the latter stages, knowing there is another leg to come.
MOAN OF THE MATCH
The majority of the first half was tame with little to excite the fans but, in a tie of two legs, the players had little reason to show urgency. With many people often bemoaning the fact all FA Cup semi-finals are now played at Wembley, perhaps this competition could steal a march and drop two-legged last-four clashes in favour of potentially exciting midweek games at neutral club grounds.
WHO'S UP NEXT?
EVERTON v Dagenham & Redbridge, FA Cup, Saturday January 9
Norwich v MANCHESTER CITY, FA Cup, Saturday January 9