Brighton and Hove Albion registered a shock 3-2 Premier League victory over 10-man Manchester City in front of 7,900 fans at the AmEx Stadium on Tuesday.
Manchester City manager Pep Guardiola made six changes to the side that saw off Newcastle United on Friday as Ederson, Ruben Dias, Phil Foden and Riyad Mahrez returned to the starting lineup against Brighton.
In a dream start for the visitors, Ilkay Gundogan opened the scoring with a low header from Mahrez's precise cross after less than two minutes.
However, Manchester City were soon reduced to ten men after Joao Cancelo received his marching orders for bringing down Danny Welbeck, who was through on goal. Guardiola was forced into an early substitution, with Barcelona-bound Eric Garcia coming on for Friday's hat-trick hero Ferran Torres.
The rest of the first half was played at a slow pace, with neither side managing to create any sort of fluidity. Brighton manager Graham Potter made an injury-enforced change when Leandro Trossard came on for Welbeck.
The second half was a more explosive affair. Phil Foden provided an indication of what was to come when he embarked on a brilliant run that ended with a wonderful solo goal as Manchester City went up two goals to the good.
Brighton halved the deficit almost immediately through Trossard, who showed great skill to beat his marker and slot past Ederson.
The hosts drew level through Pascal Gross' header in the 62nd minute before going ahead just four minutes later through Dan Burn, who blasted home off a rebound.
On the overall balance of play, the Sea Gulls were deserved winners as they made their numerical advantage count and limited Manchester City to just 37% possession.
The defeat halted Manchester City's record-breaking run of 12 consecutive away wins in the Premier League, while Brighton registered their first victory against the champions-elect since 2008.
On that note, let's have a look at the Manchester City player ratings in the game.
Ederson - 5.5/10
Ederson made a few routine saves in the game but was powerless to do anything about the goals he conceded.
Oleksandr Zinchenko - 5.5/10
Oleksandr Zinchenko did not offer too much going forward and was also caught out of position on a few occasions.
Ruben Dias - 5.5/10
The ever-reliable Ruben Dias returned to Manchester City's starting lineup but failed to prevent Brighton from running rampant in attack.
John Stones - 5.5/10
John Stones made four tackles and five clearances on a rare occasion when the Manchester City defence got overworked.
Joao Cancelo - 3/10
Joao Cancelo was the star of the show against Newcastle, but he produced a nightmarish shift at Brighton. His ill-advised red card early on put Manchester City under pressure in a game they were controlling as the champions-elect lost from a 2-0 lead.
Ilkay Gundogan - 7/10
Ilkay Gundogan opened the scoring with his 13th league goal of the season but did not make much impact before his substitution in the 56th minute due to injury.
Rodri - 5/10
Rodri was overrun in the Manchester City midfield and failed to clear his lines in the buildup to Brighton's second goal.
Bernardo Silva - 5.5/10
The Portugal international was largely on the periphery of the game and did not offer much attacking threat for Manchester City.
Riyad Mahrez - 6.5/10
Riyad Mahrez provided the assist for Manchester City's opener and was the visitors' most potent threat for most of the game.
Ferran Torres - N/A
The Spain international did not get a chance to build on from his hat-trick a few days ago, as he was substituted just 12 minutes into the game.
Phil Foden - 8/10
Phil Foden scored his first goal in a month to put Manchester City two goals ahead, but the visitors eventually ended up losing the game.
Ratings of Manchester City Substitutes
Eric Garcia - 5/10
Eric Garcia came on after Cancelo was sent off, making two tackles and three clearances, but he also missed a good chance at the other end.
Fernandinho - 5/10
Fernandinho came on after Manchester City went two goals up, ostensibly to shield the defence, but things went downhill for the visitors from there.
Gabriel Jesus - 6/10
Gabriel Jesus came on for Bernardo Silva in the 77th minute and forced Robert Sanchez into a save shortly thereafter.