Millwall were unable to prevent Norwich City moving back to the Championship summit – with clinical finishing once again the undoing of the home side.

And wins for Reading and Rotherham United means that the Lions stay 20th in the standings but are now just a point above the drop-zone.

It was a third league defeat in a row for Millwall. They have won one of their last nine Championship matches.

The Canaries did not create loads of chances against the Lions but stuck them away with aplomb when they did come along.

Shaun Williams’ 20th career goal for Millwall had made it 1-1 before the break, cancelling out Marco Stiepermann’s opener.

But Christopher Zimmerman powered a header home from a near-post corner to put City back in front with 20 minutes to go.

Teemu Pukki then claimed his 24th league goal of the campaign, running on to Emiliano Buendia’s ball down the middle to finish emphatically across Jordan Archer.

Millwall caused most of their danger from corner kicks in the opening 45 minutes – with City clearing off their own line in the fourth minute. A deep Jed Wallace delivery was met just beyond the far post by Jake Cooper but was just about kept out.

Norwich went ahead on 17 minutes. Archer did really well to come out and block from Onel Hernandez, a quick one-two slicing the hosts open, but the loose ball was rammed in by Stiepermann.

But Millwall managed to restore parity before the break. Shane Ferguson’s low corner-kick was flicked on by Steve Morison and Williams headed in.

Norwich had struggled again to fashion chances in the second period but had their lead again in the 70th minute as the home side failed to deal with a corner kick, captain Zimmerman meeting it with a thunderous header at the near post to send the 3,000 travelling fans into a frenzy.

Nine minutes later and Millwall’s hopes of a comeback were dealt a severe blow as Pukki – who scored twice in the first meeting between the two sides – made no mistake as he was put in one against one with Archer.

Millwall had three chances in the space of about 10 seconds to make it 3-2 but first Morison’s effort was blocked almost on the line, then Tim Krul saved Mahlon Romeo’s well-struck effort – before the ball was then steered wide of the right upright by substitute Aiden O’Brien.