Stalemate at Carrow Road prevented Manuel Pellegrini's side from climbing back to the top of the Premier League table, while the Canaries will take heart from a battling display but remain just two points clear of the drop zone.
A keenly-contested opening 45 minutes delivered few opportunities of note, with Gary Hooper having a bundled effort rightly ruled out for offside and Alvaro Negredo crashing a header from a corner flicked on at the near post off the face off the crossbar.
The second half followed a similar pattern, with a lack of urgency from City seeing Yaya Toure locked into a restrictive holding midfield role and Negredo replaced by Aleksandar Kolarov in a bemusing switch by Pellegrini.
A frustrating afternoon for City could have got even worse in the closing stages as Norwich staged a late charge and Anthony Pilkington fired inches over the top from a tight angle.
The visitors created an early opening when a cross from left-back Gael Clichy was hacked away by Norwich defender Joseph Yobo, making his debut on loan from Fenerbahce, with David Silva lurking in the penalty area.
Norwich, though, showed plenty of attacking intent themselves, with a goal-bound 20-yard drive from defender Martin Olsson cannoning off Pablo Zabaleta and behind for a corner.
On 16 minutes, Nathan Redmond was played in to the City penalty area on the overlap down the right, but the England Under-21 winger could only blast his angled drive high into the Barclay End.
Norwich had a goal correctly ruled out for offside when Hooper swept the loose ball home inside the six-yard box after Joe Hart had saved a bullet header from Leroy Fer at point-blank range after a corner.
There was a brief stoppage when City midfielder Toure needed treatment after taking a knock to the face, but play soon started again.
On 36 minutes, City struck the woodwork when a near-post corner was flicked on and Negredo's header cannoned back off the crossbar.
The visitors pressed again as half-time approached, with John Ruddy getting down well to save a low, 20-yard strike from Stevan Jovetic.
City maintained their dominance following the restart and only a brilliant diving tackle by Olsson prevented Jesus Navas from slotting home at the far post on 55 minutes.
In a rare Norwich attack, a clever exchange between Hooper and Russell Martin saw the full-back played into space at the edge of the City penalty area, but his half-volley flew wide.
On 61 minutes, City replaced Jovetic with Edin Dzeko.
Hooper needed treatment for a foot problem after kicking Silva's boot as he tried to clear, and had to come off, as Norwich's club-record signing Ricky van Wolfswinkel was sent on in the 67th minute.
Milner was booked for tripping Olsson, but it only interrupted the siege as Dzeko fired into the side netting following another flowing counter-attack.
Kolarov came on for Negredo with 14 minutes left, before Navas' low cross went through the six-yard box and behind as City were again frustrated by a lack of cutting edge.
Norwich, though, almost snatched it at the death as first Redmond's cross was just too far ahead of Van Wolfswinkel and Pilkington fired just over after turning Zabelata.