Romelu Lukaku scored the winner for Everton as they beat Manchester City 2-1 in the League Cup semi-final first leg to take a slender advantage to the Etihad Stadium.
Aiming to reach the final for the first time since 1984, Everton took the lead in Wednesday's clash at Goodison Park through Ramiro Funes Mori.
The defender hit home in first-half stoppage time, pouncing on a rebound from a Ross Barkley shot that was well saved by Willy Caballero.
However, 2014 winners City began to fashion more clear-cut opportunities in the second half and eventually levelled thanks to winger Jesus Navas.
Navas slotted in the equaliser in the 76th minute, finishing confidently after latching on to a perfectly weighted throughball from Sergio Aguero.
Yet there was to be one final twist in the tale as Lukaku met Gareth Barry's fine cross two minutes later to nod home his 12th goal in as many games before limping off with an injury sustained in scoring.
Everton looked to have taken the lead in the 36th minute when John Stones turned home after Barry had knocked Leighton Baines' free-kick into his path.
However, Everton's celebrations were short-lived as Barry was correctly adjudged to have been in an offside position.
The hosts were then grateful to Joel Robles for keeping the scores level, the Spaniard parrying Aguero's powerful near-post effort, with the Argentina international's follow-up blocked by compatriot Funes Mori.
And it was the centre-back who made a telling impact at the other end as he lashed home the rebound after Caballero had made a fine save to keep out Barkley's low drive, although Lukaku did appear to be offside in front of the goalkeeper when Barkley fired towards goal.
Martin Demichelis was brought on at centre-back in place of Eliaquim Mangala at half-time, while Leon Osman came on for Tom Cleverley in the Everton midfield.
Everton carried the momentum from taking the lead into the second half but would have been pegged back had Aguero not surprisingly spurned what looked a simple chance in the 62nd minute.
Aguero failed to reward the persistence of David Silva when the ball broke to him in the box, slicing well wide with the goal seemingly at his mercy.
Caballero then denied Barkley at the other end before Robles did brilliantly to turn Kevin De Bruyne's curling effort round the post following neat link-up play with Aguero.
Aguero's good play did pay dividends soon afterwards as Navas tucked his excellent pass into the bottom-right corner to give City an away goal.
But City could not maintain parity, Lukaku continuing his stunning run of form to ensure Everton go into the second leg with a lead, although injuries to the Belgian and Seamus Coleman - whose withdrawal left them down to 10 men - will provide some concern for Roberto Martinez.