Lasse Vibe's first-half brace saw Brentford end Norwich City's unbeaten run at home as they won 2-1.
Vibe scored twice in five first-half minutes to put the visitors two up at the break.
Nelson Oliveira netted late on but it was only a consolation as Brentford headed back to London with the points.
Daniel Farke named the same starting eleven which began last weekend’s defeat to Leeds United with the only alterations made to his substitutes’ bench. With Cameron Jerome and Wes Hoolahan ruled out through injury, Yanic Wildschut and Jamal Lewis replaced them.
Brentford started the brighter of the two sides and went within inches of taking an early lead. Ollie Watkins cut in from the right and hit the post with a curling strike from the edge of the box. The rebound fell kindly to Vibe but he somehow scooped his effort wide.
Watkins again went close for Brentford on 22 minutes. Vibe hung a cross up at the far post and Watkins made Angus Gunn produce a spectacular save with his accurate header.
City had to be patient for a clear effort on goal but then several came at once on the half hour mark. First, Maddison’s corner was headed back into danger by Timm Klose and Marley Watkins’s close-range nod towards goal was saved brilliantly by Daniel Bentley. Then Oliveira was thwarted twice by the goalkeeper before Klose nodded Mario Vrancic’s cross millimetres wide of the post.
Just as City started to dominate proceedings, their opponents snatched the lead on the break. A scramble on the edge of penalty area allowed Romaine Sawyers to stab the ball into the path of Vibe and he curled the ball past Gunn into the bottom corner.
Vibe grabbed his and Brentford’s second shortly after with a carbon copy of his first goal – an accurate finish low to Gunn’s right - but City finished the half brightly and Bentley again produced a good save to keep out Grant Hanley’s header from close-range.
The Canaries made a fast start to the second half and went close to pulling a goal back within seconds of the restart. Alex Pritchard was played through by Maddison but he thumped his effort across goal and wide.
Vrancic volleyed over on 62 minutes and moments later, Farke introduced Josh Murphy and Jamal Lewis – making his senior professional debut – in the hope of turning the game around.
City’s best chance to get themselves back into the game came through Vrancic. Klose surged forward to the edge of the Brentford penalty area and poked the ball through to the Bosnian but he was denied by the crossbar with Bentley rushing towards him.
Oliveira added a late consolation for City with a clinical finish from sub Christoph Zimmermann's cross but Brentford held on in stoppage time to succumb City to their first defeat in four games at home.