The champions enjoyed ample possession in east London but their unbeaten start in the Premier League continues to be an underwhelming one and West Ham were denied what seemed a legitimate early goal.
Few more awkward-looking trips before Tuesday's must-win Champions League visit of Ajax could Roberto Mancini have picked out and his side would have gone behind inside five minutes had it not been for a wrongly-raised flag.
Kevin Nolan watched Mark Noble's lofted ball all the way over his right shoulder before lashing a fierce volley past Joe Hart but Sam Allardyce was left raging by the offside decision and he had a point.
Edin Dzeko was dubiously ruled offside at the other end but, in any case, missed his header on the rebound and while the hosts continued to knock the ball about with comfort, City struggled to find their groove.
Mohamed Diame cut inside and blazed goalwards, Yossi Benayoun watched a sidefoot volley hit the bar and Andy Carroll dragged a shot wide but the space Yaya Toure was allowed to stride into at the other end served as a warning.
City's best chance came from a Carlos Tevez inswinger but Mario Balotelli - wasteful on several occasions - lifted the ball over the bar from close-range and Mancini blew out his cheeks in frustration.
The Italian boss glowered in his dug-out for several minutes before his players returned but his verbal volley drew a response. City pressed higher up the pitch and a string of corners came, threatening the breakthrough.
Ex-Hammer Tevez looked like being the man, but sliced across the ball with the goal in his sight, and then Gareth Barry charged into the box only to poke past the post, that miss the cue for Sergio Aguero's introduction.
Jussi Jaaskelainen pushed away a fierce shot from the new boy, and James Collins threw his body in front of blue shirts to preserve a deserved deadlock.
Allardyce punched the air while Mancini wore a grimace: it was his side's first goalless draw since Boxing Day.
Mancini had sprung a surprise before kick-off by again tinkering with his starting line-up and the decision to start with Balotelli, Tevez and Dzeko in the same XI for the first time failed to deliver the goods.
After a three at the back experiment cost City against Ajax 10 days ago, Mancini's radical tactics are becoming reminiscent of another Italian, famously dubbed 'The Tinkerman', and we all know what happened to Claudio Ranieri.
He had also handed Kolo Toure his first league start since August and recalled James Milner, although he was forced into a last-minute change when the latter hurt his hamstring in the warm-up and was replaced by Barry.
And, on this evidence, City really will need the "miracle" Mancini predicted to rescue their Champions League campaign, starting in Tuesday's revenge mission against Ajax.
|West Ham United||Team Statistics||Manchester City|
|0||1st Half Goals||0|
|0||Shots on Target||5|
|5||Shots off Target||12|
|37||1st Half Poss.||63|
|29.7||2nd Half Poss.||70.3|