Luis Boa Morte's second-half equaliser eased Fulham's relegation worries in a scrappy affair at Craven Cottage.
Claudio Reyna gave City the lead before the break, tapping in after Antoine Sibierski's flying header was parried by Edwin van der Sar.
But Boa Morte side-footed into an empty net after City keeper David James was challenged by Brian McBride.
Both sides had chances to win the game in the final quarter, but a draw was the fair result of a scrappy encounter.
City's Sibierski had the first chance on nine minutes, Van der Sar pushing over the midfielder's shot.
And Sibierski was involved in City's opener 10 minutes later, launching himself at Robbie Fowler's cross only for Van der Sar to parry and Reyna to tap home.
City keeper David James made a smart save from team-mate Paul Bosvelt soon after, while Richard Dunne foiled Andy Cole.
On 33 minutes, City's Joey Barton skipped down the left flank and shot just wide while Steed Malbranque bent one past James' left upright at the other end.
The hosts became more fluent as the half wore on, centre-back Zat Knight heading wide from a Mark Pembridge corner just before the break.
And Luis Boa Morte, Fulham's best player in the first 45 minutes, saw James tip his shot onto a post on the stroke of half-time.
The Cottagers looked more decisive after the interval, with Cole lashing over shortly after the restart. Fowler then shot wide for the visitors with only Van der Sar to beat.
On 70 minutes, Collins John, on for Cole, had a shot deflected just past James' left upright.
Five minutes later Boa Morte levelled in controversial fashion, James fumbling a hanging ball under a stiff challenge from McBride and the Portuguese slotting home.
With substitute Shaun Wright-Phillips looking bright after a seven-week absence, City chased victory, and Dunne had shots blocked by Knight and Boa Morte.
But Fulham were not finished either, Tomasz Radzinski shooting wide with five minutes remaining with only James to beat.
Fulham boss Chris Coleman:
"A point was good but we're not there yet.
"We're in a better position now than we were as another match has passed where the bottom sides have not caught us up - but we can't start celebrating yet.
"We went into half-time 1-0 down when we shouldn't have been behind. Their goal was offside."
Manchester City boss Stuart Pearce:
"I'm disappointed with the result but don't really think we were robbed.
"The challenge on David James looked a bit harsh but I don't complain about referees because we could benefit from a howler next time out.
"We scrapped away well enough but when we went 1-0 up we should have taken the other chances."
Fulham: Van der Sar, Volz, Knight, Goma, Rosenior, Boa Morte, Pembridge, Clark, Malbranque (Radzinski 66), Cole (John 69), McBride.
Subs Not Used: Bocanegra, Crossley, Rehman.
Goals: Boa Morte 76.
Man City: James, Onuoha, Dunne, Distin, Jordan, Reyna, Barton, Bosvelt, Musampa (Bradley Wright-Phillips 86), Fowler (Shaun Wright-Phillips 62), Sibierski.
Subs Not Used: Thatcher, Weaver, Mills.
Goals: Reyna 20.
Ref: N Barry (N Lincolnshire).