Premier League: West Ham 0 Manchester City 0
Sam Allardyce's men had an early Kevin Nolan strike wrongly disallowed for offside at Upton Park, before Mario Balotelli wasted a couple of golden chances for the visitors late in the half.
City pressed and probed in the West Ham half for large periods of the match and had the better chances, but did not have the cutting edge to find the back of the net.
Roberto Mancini's men sit third despite being undefeated, two points adrift of league-leading rivals Manchester United.
West Ham thought they had taken the lead in the fourth minute but Nolan's volley was wrongly ruled out for offside after replays showed Edin Dzeko played the attacking midfielder onside.
The first quarter of the match was open with Dzeko and Mohammed Diame squandering chances to take the lead.
Yossi Benayoun hit the crossbar and Andy Carroll's strike whistled past the post as the hosts stepped up the pressure midway through the half.
It was the visitors who gained the ascendancy towards the end of the half.
Balotelli wasted City's best chance of the half when he volleyed Carlos Tevez's free-kick over the bar from six yards.
The Italian again came close late on in the half with an overhead volley but his miss meant the sides went in level at the break.
Manchester City started the second period brightly – Tevez tested Jussi Jaaskelainen within five minutes of the restart with a shot on the turn.
West Ham were unable to escape their own half as Mancini's men cranked up the pressure.
Nolan nodded Benayoun's early cross inches wide of the post on the hour-mark as Allardyce's side edged back into the game.
The chance sparked a spell of good possession for West Ham, which was almost punctuated with an over-head kick from Carroll which was deflected for a corner.
Gareth Barry missed a golden chance in the 67th minute when he collected Tevez's cross but directed the finish wide of the post a couple of yards from goal.
City continued to pile on the pressure but it was West Ham who came close to taking the lead on the break, but Carroll could not finish after fine work from Matt Jarvis.
Late substitute Sergio Aguero had a couple of late efforts on goal but West Ham held on quite comfortably to earn a point against the champions.