Pep Guardiola suffered his heaviest league defeat as a manager as Everton dealt Manchester City a serious title blow with a 4-0 win at Goodison Park.
Teenager Tom Davies and debutant Ademola Lookman wrapped up a stunning Everton performance with late goals after earlier strikes from Romelu Lukaku and Kevin Mirallas.
The loss was City's fifth of the Premier League campaign and left them 10 points behind leaders Chelsea.
It also proved an unhappy first return to Everton for City defender John Stones, who was booed intermittently following his £50 million transfer last summer.
City started well but lost their sparkle after falling 2-0 down early in the second half and then capitulated alarmingly in the latter stages.
The first period was evenly contested, although the sides differed in their approaches. City controlled a lot more of the possession and were probing in attack. Using a midfield diamond, City worked the space well and Kevin De Bruyne's eye for a pass repeatedly opened Everton up.
Everton were more direct, hitting City with forceful counter-attacks, often looking for Lukaku up the middle.
The hosts had the ball in the net after 10 minutes as Lukaku combined with Seamus Coleman to set up Mirallas but the flag was raised for offside.
City wanted a penalty after De Bruyne played in Raheem Sterling who went down as Joel Robles challenged, while the ball may also have hit Leighton Baines' hand in the scramble, but nothing was given.
With De Bruyne in fine touch, City openings came regularly. Ashley Williams made a vital interception to cut out a cross destined for Sergio Aguero before Sterling volleyed another De Bruyne pass straight at Robles. The keeper also did well to smother David Silva after the Spaniard was picked out by De Bruyne.
Everton had much less of the ball to work with but looked dangerous with it. They took the lead as impressive academy graduate Davies seized on a Gael Clichy error and released Mirallas down the right. The Belgian played the perfect ball into the centre for his countryman Lukaku to sidefoot home.
City hit back well and went close to an equaliser as De Bruyne fired a ball across goal but Aguero could not get a touch. Bacary Sagna rose well to meet a Clichy cross but Davies headed off the line.
Everton doubled their lead straight from the restart. Stones stretched to cut out a Lukaku pass but diverted it to Barkley. The England midfielder found Mirallas and he finished firmly with a low strike.
This time City's response was less convincing and Pep Guardiola decided on a change of shape just after the hour by sending on Kelechi Iheancho for makeshift midfielder Pablo Zabaleta. Everton made a change themselves soon after, handing a debut to new signing Morgan Schneiderlin.
City were frustrated and it was not until a long-range free kick from Yaya Toure after 78 minutes that Robles was extended in the second half.
That came moments before Everton broke up the field wrapped up the win with Davies' superb strike.
The youngster started and finished the move, initially beating two City players with a neat flick as he darted forward. He stumbled after passing inside to Barkley but quickly regained his footing to take a return ball and dink over the advancing Claudio Bravo. The ball crossed the line without a touch from Lukaku.
There was still time for more as Lookman, sent on in the last minute, finished calmly after being played in in stoppage time.