The hosts thought that they had nicked an early opener when Kevin Nolan lashed his shot past Joe Hart with just five minutes on the clock but it was disallowed for offside, although replays suggested that he was on.
The Hammers came close again after 20 minutes as Matt Jarvis's ball found Yossi Benayoun, but the midfielder's volley hit the crossbar.
Mario Balotelli should have given City the lead 10 minutes before the break after he was found by Carlos Tevez's cross, but the Italian shot over from six yards out.
The champions almost made the perfect start to the second half with a double chance in the opening minutes, but first Balotelli and then Tevez couldn't find a way through.
City pushed for a winner but a mixture of good goalkeeping and wayward finishing ensured that the match ended 0-0.