Norwich City were deserved winners as they inflicted Manchester City's first Premier League defeat since January at an ecstatic Carrow Road.
The Canaries were missing eight players but made light of those injuries and took full advantage of a performance from the reigning champions that was careless in the extreme and characterised by chaotic defending.
Norwich were 2-0 ahead within 30 minutes after Kenny McLean rose unmarked to meet Emiliano Buendia's corner and then Todd Cantwell finished a flowing move involving Marco Stiepermann and Teemu Pukki.
Sergio Aguero's header just before the break hinted at a Manchester City comeback but a misunderstanding between John Stones and Nicolas Otamendi saw Buendia rob the Argentina centre-back and set up Pukki to score.
Rodri scored his first goal for Manchester City with two minutes left before referee Kevin Friend's final whistle was the cue for wild celebrations for the home side.
The rare defeat, meanwhile, leaves Pep Guardiola's side five points behind Liverpool.
Norwich manager Daniel Farke said: "Of course it is a special day for us and for the club, against one of the best teams in the world and when we have so many injuries.
"We had to be special in our plan for City because they are the best team in the world but we had setbacks too with our injuries. We deserve the win, we were exceptional.
"[Ibrahim] Amadou was beautiful today, playing in an unusual position, and a debut for Alex Tettey and Sam Byram too. I can't praise the lads enough. We had so many things to overcome.
"Teemu [Pukki] was brilliant, not only because of his goals but for his work rate too. Teemu always thinks about the team first, which is why he deserves all of the praise."