Ethan Pinnock’s late goal saw Brentford become the only team to do the double over Manchester City in the Premier League this season.
On the day he signed a new long-term contract, the defender prodded home Bryan Mbeumo’s knock-down with five minutes to play to ensure a fitting end to a wonderful season.
Champions City dominated the game but, aside from Cole Palmer efforts at either end of the game, one saved by David Raya, the other cleared off the line by Ben Mee, they did little to put the home goal under sustained pressure.
Pinnock’s goal ensured that Brentford finished the season with five wins from their last six and just two home defeats all campaign.
Man City given guard of honour ahead of final game
Thomas Frank made a pair of changes from last weekend’s victory at Tottenham Hotspur.
Zanka replaced Kevin Schade and slotted into a back three.
There was also an enforced change in the middle with Mathias Jensen missing his first game of the season due to a minor injury; Mikkel Damsgaard replacing his Danish international team-mate.
With a pair of finals still to play, City made six changes. While there was no Kevin De Bruyne, Erling Haaland or Ilkay Gundogan in the starting line-up, Kyle Walker, Phil Foden, Nathan Ake, and Riyad Mahraz were among those who started in sky blue.
Brentford: Raya; Hickey (Dasilva 70), Zanka, Mee, Pinnock, Henry; Onyeka (Baptiste 81), Janelt, Damsgaard (Schade 70); Mbeumo (Roerslev 89), Wissa (Ghoddos 89)
Subs not used: Strakosha, Ajer, Stevens, Trevitt
Manchester City: Ederson; Walker, Laporte, Ake (Charles 62); Lewis, Phillips, Gomez; Foden; Mahrez, Palmer, Alvarez
Subs not used: Ortega, Stones, Gundogan, Haaland, Rodri, Silva, Robertson, Knight
Attendance: 17,120
Goalless at the break following a first half of few chances
The contrast of styles made for a fascinating game. City, as expected, dominated possession, but were harried all over the pitch by Frank’s Bees.
The home side were well drilled out of possession and limited City to few clear sights of goal in the opening 45 minutes.
The best of those chances was the first of the match; Palmer weaved through the Brentford defence before bringing a fine plunging save out of Raya down to his left.
Rico Lewis and Kalvin Phillips both dragged wide, and Pinnock made a crucial block as Julian Alvarez turned to shoot in the box, before Brentford started to ask questions of their own.
Pinnock looped an effort over the bar from Henry’s cross, but it was in the final 10 minutes of the half that Brentford really put the pressure on.
Mee brought a smart save out of Ederson at his near post after taking down Zanka’s long throw and turning smartly on the corner of the six-yard box. From the resulting corner, Mee got to the ball first to flick over the bar.
Set-piece situations were bringing Brentford plenty of joy. From another corner the ball dropped to Pinnock on the edge of the box, but his effort was blocked at source.
Vitaly Janelt had the final chances of the half, again from a Brentford long throw, the first was blocked with the German midfielder volleying the rebound over from 12 yards.
Pinnock nets late goal as Brentford complete a famous double over the champions
The pattern of play didn’t change much in the second half with City dominating possession but struggling to open up the Brentford defence.
An early lob from Palmer was easily gathered by Raya before the Bees had three strong penalty claims turned down in quick succession. Firstly, Mee went down under Lewis’s challenge in the area before handball shouts against Palmer and Lewis were also waved away.
At the other end, Pinnock blocked an Alvarez shot on the stretch, Sergio Gomez firing the loose ball well over.
As the clocked ticked down, Brentford’s belief in finding a winner grew.
From Wissa’s knock-down, Frank Onyeka fired over from 25 yards. The roles were then reversed as Wissa was inches away from controlling a perfectly weighted Onyeka through ball inside the area.
However, five minutes from time the goal did come. Again, it was from a set-piece situation, this time from deep.
Raya curled a free-kick down the right touchline for Schade to gather. The German forward showed great pace to round Gomez and fire in a cross to the back post for Mbeumo to knock down to the unmarked Pinnock 10 yards out. With the outside of his foot, Pinnock slotted the ball into Ederson’s bottom corner and the Gtech erupted.
Brentford saw out the five remaining minutes of normal time without a scare but the five minutes of stoppage-time was a different matter.
Goalscorer Pinnock made two superb close-range blocks to deny Palmer before the City youngster then saw his third effort cleared off the line by Mee.
City’s final effort of the game was a 20-yard Kyle Walker effort that skipped well wide of Raya’s right-hand post as Brentford held on for three points on the final day.
Frank: I couldn't have written that better
After twice beating a Man City side that could go on to do the treble this season, Thomas Frank described the feat as 'incredible'.
“We couldn't have written it better," he said. "You could say that we just couldn’t sneak into a European place, but, hey, we did our part so there’s nothing to complain about. It was just incredible.
“We know that they didn't put their strongest line-up out there today, I think that’s fair to say, but they still had some top Premier League players out there, so they’ve still got an unbelievable team and we still had to beat them - and we did that!"
Pinnock: We’ve beaten the best team in the world
“They’ve been the best team in the world this season,” said goalscorer Ethan Pinnock, speaking on the same day that his new four-year contract was announced.
“We had our tactics, we had our game plan, and we stuck to it. On the day, with the crowd behind us, we managed to get the win.
“They’ve got two world-class players for each position, but we got on the front foot from restarts and from throw-ins. We went man-for-man a lot of the time and did our jobs very well.”