Norwich City endured a frustrating 0-0 stalemate against Millwall on Tuesday night at Carrow Road.

The Canaries extended their unbeaten Championship run to six games but were unable to find the cutting edge that proved too hot for Bristol City at the weekend.

Przemyslaw Placheta came closest with a first half shot that hit the post in arguably the hosts’ best spell of concerted pressure.

But Daniel Farke’s men lacked inspiration after the break, and could have been sunk by a stoppage time sucker punch, when Shaun Williams’ long range effort hit the bar.

Yet City still moved up a place to third with the point, with Bournemouth losing 1-0 at Sheffield Wednesday.

Todd Cantwell’s omission from the Norwich matchday squad was the headline news. The Dereham ace was replaced by the fit-again Christoph Zimmermann on the bench following an ankle injury in training. Cantwell had scans earlier on Tuesday and City’s medical staff await the results.

Farke opted to name an unchanged starting line up from the side that surged past Bristol City 3-1 at the weekend.

The hosts looked to get on the front foot from the off, with Emi Buendia trying to thread a ball through to Teemu Pukki but Murray Wallace cut out the intended pass.

Jacob Sorensen’s sloppy clearing header invited Millwall forward at the other end but Shaun Hutchinson clubbed over a good chance from 25 yards.

Back came Norwich with Max Aarons releasing Przemyslaw Placheta to drive to the edge of the area but his rising shot cleared Bartosz Bialkowski’s bar.

Marco Stiepermann picked out Lukas Rupp, who crossed from the byline but Millwall had numbers back inside their own six yard box, although there was half-hearted home penalty appeals when Rupp tumbled over Mahlon Romeo’s leg.

Grant Hanley made a perfectly timed block at his near post to foil Jon Dadi Bodvarsson, so perfect the Scot earned a goal kick with Bodvarsson getting the final touch.

Stiepermann should have done better in the 18th minute when Rupp’s turnover work freed Pukki who reversed a clever pass into the German but he tamely shot at Bialkowski.

Rupp then released Placheta who picked out Pukki but the Finnish international’s glancing header slid well off target.

Rupp remained prominent with a deflected shot 18 yards out from Buendia’s dart that produced a corner which amounted to nothing.

Olly Skipp needed treatment to a gashed mouth after a mid-air collision involving Jed Wallace. The Tottenham loanee clearly felt he had caught an elbow, judging by his arm motion when he walked to the touchline before re-joining the action.

Buendia and Stiepermann sliced through the Lions’ rearguard in the 38th minute, with a back heel from the Argentine and a first time clip from Stiepermann, but Rupp was thwarted by Jake Cooper.

Pukki led the breakout after a promising Millwall counter in the 40th minute and his quick feet fashioned a pocket of space on the edge of the area only to curl over.

Norwich continued to probe with Buendia cutting infield before rolling in Rupp who this time thumped wide on his left.

Ex-Ipswich keeper Bialkowski pushed Rupp’s next shot wide which brushed Romeo to send it spiralling towards his near post.

Placheta then struck the base of Bialkowki’s right hand post with a low, left footed effort from 16 yards.

Both coaches resisted any urge to make changes at the interval. Rupp was crudely upended by Ryan Woods for the first booking of the game but Buendia’s free kick struck the wall.

Max Aarons left Scott Malone trailing in the 58th minute but Placheta opted to go with the outside of his left foot when the cross arrived, and Cooper smothered the strike.

Placheta pounced on a loose square pass deep in Millwall territory before rolling in Pukki, who swivelled and dragged a low right footed effort a couple of yards wide of Bialkowski’s near post.

Buendia and Romeo had a full blooded mid-air collision, when a Norwich corner was cleared back to the Argentine, with the Millwall man coming off second best.

The referee halted the action immediately before the prone Romeo received treatment and was able to return.

Stiepermann had the freedom of the Millwall half to turn and drive forward to pick out Buendia who smashed a rising shot at Bialkowski before Hutchinson hacked the follow up clear.

Placheta then tested Bialkowski’s handling from 25 yards in the 74th minute.

Farke made a triple chance in the 78th minute, with Kenny McLean, Mario Vrancic and Jordan Hugill replacing Stiepermann, Rupp and Placheta respectively with City changing to a defensive three.

Bialkowski denied Norwich again shortly after the changes, this time parrying from Pukki.

McLean’s shot at Hutchinson appeared to strike the Millwall defender on his arm just outside the visitors’ area, but referee Robinson waved away free kick appeals.

Norwich tried to lay siege to the Millwall area in the first of five additional minutes but Hanley headed Gibson’s clip wide at the back post.

Hutchinson felled Vrancic 25 yards out on the left hand side of the Millwall area, but Vrancic’s free kick hit the wall and behind for a corner.

From Buendia’s corner, Gibson found the side netting under pressure with a volley on his right.

There was nearly late drama at the other end when Millwall raided and Williams’ curling effort clipped the top of Krul’s bar.

• Norwich City (4-2-3-1): Krul, Aarons, Hanley (C), Gibson, Sorensen, Rupp (Vrancic 78), Skipp, Buendia, Stiepermann (McLean 78), Placheta (Hugill 77), Pukki. Subs: McGovern, Tettey, Zimmermann, Mumba.

• Millwall (3-1-4-2): Bialkowski, J Wallace, Hutchinson (C), Cooper, M Wallace, Thompson (Williams 55), Ferguson (Bennett 55), Romeo, Malone, Woods, Bodvarsson (Smith 80). Subs: Fielding, Pearce, Leonard, Mahoney.

• Booking: Woods (foul on Rupp, 52)

• Added on time: 3 minutes / 5 minutes

• Referee: Tim Robinson

• Attendance: BCD