Clint Dempsey capped a storming Fulham recovery from 2-0 down as Mark Hughes' shell-shocked Manchester City were forced to settle for their third straight Barclays Premier League draw.
Hughes' men were cruising home when Martin Petrov fired home their second on the hour, seven minutes after Joleon Lescott had knocked home the opener.
But eight minutes later the visitors were back on level terms when first Damien Duff and then Dempsey fired past Shay Given to lend another twist to an action-packed game.
City went in front in the 53rd minute when Gareth Barry nudged a Craig Bellamy corner across to Emmanuel Adebayor and his weak shot was helped over the line by Lescott.
When City grabbed their second on the hour it seemed like plain sailing, Wayne Bridge feeding Petrov from the right and the midfielder curling an excellent effort past Schwarzer.
But Roy Hodgson's men were far from sunk and they struck back just two minutes later when Zamora chested down a ball from Stephen Kelly and Duff shot home from the edge of the box. A remarkable game took its further bizarre twist in the 67th minute when Dempsey fired Fulham level after finding space to meet Jonathan Greening's free-kick in the box.