City went down to a 4-0 defeat at The Den after Millwall took advantage of some generous defending.
Goals from Lee Gregory, George Saville and Jed Wallace compounded a torrid first-half for the Canaries, and Shaun Hitchinson finished the scoring midway through the second half.
City made four personnel changes to the starting XI from Villa Park. Nelson Oliveira had recovered from a groin injury and took his place up top, while Wes Hoolahan came in for Marco Stiepermann on the right while James Maddison replaced Steven Naismith in the centre of midfield. At the back Ivo Pinto was fit to take his spot at right-back while captain Russell Martin moved to centre-back, with Christoph Zimmermann dropping to the bench.
Norwich had a chance after just five minutes. Marcl Franke got on the end of a Maddison corner, looping the ball back into the box but Vrancic couldn’t get enough power behind his headed effort and Jordan Archer saved easily. Hoolahan then went close, and this time Archer was less comfortable as he parried the 20-yard effort behind.
With the early pattern set – City dominating the ball and Millwall happy to go long – two defensive calamities gifted the home side a 2-0 lead. First, Gregory was left completely free from a knock-on after a long punt forward and he finishes easily under Angus Gunn. Things got worse four minutes later when Millwall had two men free in the box and George Saville finished low into net with Gunn stranded.
On 25 minutes City almost pulled a goal back. Oliveira turning on the edge of the box and firing low towards the bottom corner but Jordan Archer did brilliantly to turn it around the post. Seven minutes later Archer did well to smother a Josh Murphy effort from a tight angle.
But shortly before half-time it got worse for City. Jed Wallace picked the ball up 30 yards out, travelled with it untroubled and was allowed to pick a spot into the bottom corner. Gunn got a hand to it, and may be disappointed not to have saved it.
Straight after the restart it should have been four. The ball was rolled across by former Canary Steve Morison, but Aiden O'Brien's shot from five yards was somehow deflected over the bar.
City switched to three at the back when Christoph Zimmermann came on for Russell Martin and Marco Stiepermann for Harrison Reed.
City upped the pressure and camped on the edge of Millwall’s box as they looked to get back into the game. But City wobbled again when Shaun Hutchinson rose highest at a corner to head in at the back post.
A few minutes later Alex Tettey replaced Maddison.
The match petered out after that, with City unable to carve out too many opportunities – Zimmermann heading straight at Archer from a free-kick – and Millwall happy to sit back and soak things up.