Ivan Toney scored a 97th-minute winner as Brentford took all three points at the Etihad Stadium against title-chasing Manchester City.
The striker slotted home Josh Dasilva’s cutback to end City’s 16-game winning run at home and send the Bees into the World Cup break on a massive high.
Toney got Brentford’s first goal as well on 16 minutes, flicking home Ben Mee’s looping header, with Phil Foden equalising in first-half stoppage time.
With a point looking the most likely result, Toney took centre stage again with his late, late winner giving Brentford a first away success of the Premier League campaign.
Thomas Frank reverted to a back three for the trip to the Etihad.
The three changes from last weekend’s draw against Nottingham Forest saw Toney, Frank Onyeka and Zanka replace Wissa, Dasilva and Keane Lewis-Potter.
Zanka slotted in at right centre-back with Onyeka partnering Vitaly Janelt at the base of Brentford’s three-man midfield.
City’s major team news saw Erling Haaland passed fit to start following a foot issue.
Haaland led the line with Bernardo Silva and Phil Foden in support ahead of the midfield trio of Rodri, Ilkay Gündogan and Kevin De Bruyne.
Brentford: Raya; Roerslev, Zanka, Mee, Pinnock, Henry; Onyeka (Dasilva 87), Janelt (Nørgaard 62), Jensen; Mbeumo (Wissa 74), Toney
Subs not used: Cox, Canós, Ghoddos, Lewis-Potter, Crama, Yarmoliuk
Manchester City: Ederson; Akanji, Stones, Laporte, Cancelo (Alvarez 87); Rodri, Gündogan, De Bruyne; Silva, Foden, Haaland
Subs not used: Ortega, Dias, Phillips, Grealish, Gómez, Mahrez, Palmer, Lewis
If the majority of those attending the Etihad had expected to see Manchester City dominate from the outset, they were very much proved wrong by a positive and enterprising opening 45 minutes from Brentford.
The Bees made all the early running with Ederson far the busier goalkeeper.
Rico Henry’s flick-on sent Onyeka bearing down on goal but he couldn’t lift his effort over the sprawling goalkeeper.
Bryan Mbeumo, on his 150th Brentford appearance, then had a shot blocked before the City goalkeeper again came to his side’s rescue, keeping out Toney’s close-range shot from Mbeumo’s cut-back.
Out of possession, Brentford were dropping into a low block and keeping their shape well, restricting City to half chances.
From De Bruyne’s deep cross, Haaland’s cushioned ball back into the six-yard box was just over the head of Gündogan, while Haaland and De Bruyne both had shots blocked by Mee and Zanka.
The goal that Brentford had threatened duly arrived after 16 minutes. David Raya clipped a free-kick to the edge of the City box, which Ben Mee flicked on. Aymeric Laporte and Toney went up to challenge for the ball just outside the six-yard box and the City defender flicked the ball on to Toney’s head before it looped over Ederson and dropped in.
With an advantage to hold on to, Brentford were happy to soak up City pressure and did it well.
While the home side had the lion’s share of possession, David Raya, defending the goal in front of the away fans, was well protected.
Rodri smashed a shot over the bar from range and Foden had a shot blocked before a pair of loud penalty appeals against Henry.
The first, for handball, was eventually confirmed as a free-kick right on the edge of the box while the second was waved away - De Bruyne going down far too easily under very little contact.
Indeed, it took until the 41st minute for Raya to be required to make a save. Brentford had pushed bodies forward allowing space in behind for the first real time. De Bruyne used that to his advantage to find Foden but his effort from the left of the box was beaten away by Raya.
Mbeumo had half an opening to double Brentford’s advantage but he couldn’t get enough purchase on his effort to get it up and over Ederson and the ‘keeper claimed comfortably.
City’s frustrations looked to be getting the better of them as Laporte smashed over from 30 yards, but they found their leveller deep into added time. De Bruyne’s corner was flicked through to Foden by Manuel Akanji and he rifled a shot across Raya and into the top corner.
It was a disjointed start to the second half due to a long period of treatment to Laporte; Ethan Pinnock accidentally caught the City man with an elbow following an aerial challenge.
When play did get into a rhythm, it was City who made all the running.
Silva and Cancelo had shots blocked by Mee and Zanka, the latter a crucial touch just in front of Raya, while Laporte also sent an effort well over.
City’s best chance of the opening exchanges of the half fell to Gündogan and he really should have buried it. Haaland’s flick found the midfield in space ten yards from goal but he somehow managed to lift his shot way over the bar with only Raya to beat.
Brentford were still a threat on the counter with Toney doing a masterful role of holding up the ball and bringing others into play. From his knock-down, Mads Roerslev got a cross in that Toney volleyed towards goal - Ederson making the simple save.
He came even closer to a second shortly after. Henry’s ball in from the right looked set to drop perfectly for Toney to tap home but Laporte slid in and made a goal-saving intervention as he hooked the ball to safety.
Those were rare forays forward as City continued to knock at a door that refused to open. Foden’s snap volley flew over the bar while Rodri, Cancelo and De Bruyne all brought smart saves out of Raya with long-range shots.
As ten minutes added time was put up on the fourth official’s board, Brentford had a golden chance to go back in front. Roerslev got to the by-line and smuggled the ball inside for substitute Josh Dasilva. He drove into the box and then found Toney with a low pass. Toney’s first touch took him past Laporte but he was denied at close range by the legs of Ederson.
Akanji, Rodri and Foden had further efforts, one wide and the others blocked by Mee and Zanka, before Brentford struck with a clinical counter attack in the eighth minute of stoppage time.
From a City corner, Wissa nipped the ball away from his man on the edge of the box and drove forward. He crossed the halfway line before switching the ball to Dasilva on the right. The pass was slightly behind Dasilva but he did excellently to drive past Akanji and cut the ball across for Toney to slide home from close range.
The away end erupted and it almost got even better as Brentford launched another late counter-attack. With only De Bruyne between Dasilva, Wissa and Toney, the former found the latter who beat Ederson but saw his shot cleared off the line by the covering Belgian.
City launched one last attack but the ball was repelled for the umpteenth time. Peter Bankes’ whistle called time seconds later with those in red and white, on and off the pitch, launching into wild scenes of celebration.
Reaction: Thomas Frank
Thomas Frank stated that our 2-1 away win at Premier League champions Manchester City is the 'single, biggest result' in Brentford Football Club history.
Reaction: Ivan Toney
Ivan Toney couldn’t hide his delight after Brentford’s 2-1 victory over Manchester City at the Etihad Stadium.