Manchester City 1 Fulham 3
While City's campaign has been one of under-achievement - they have won only once of their last six matches - Fulham are exceeding expectations with this victory lifting them to eighth place in the league.
Fulham, who won at Eastlands last April as part of their great escape from relegation, clinched victory with two goals from American Clint Dempsey and another from City old boy Dickson Etuhu, whose brother Kelvin was in the opposing team.
City made five changes from their defeat in Hamburg three days earlier as Wayne Bridge, Craig Bellamy and Shaun Wright-Phillips were ruled out with injury while Brazilians Robinho and Elano were relegated to the bench.
Fulham, unchanged from the team which lost against Liverpool last time out, made a lively start and were unlucky not to take the lead in a nervous opening from the home side.
A slip by central defender Richard Dunne let in Bobby Zamora but City keeper Shay Given made a fine stop to save the day.
Dunne had another let off when replays clearly showed he shoved Andrew Johnson in the back as Fulham were denied a penalty.
City rode their luck and then snatched a 28th minute lead when Stephen Ireland struck his 12th goal of the season to equal the total of top scorer Robinho.
Ireland received a Valeri Bojinov lay-off in his own half and advanced towards the Fulham goal before curling an exquisite shot from 25 yards via a deflection over Mark Schwarzer.
City might have increased their lead in the remainder of the first half when Bojinov crashed a long-range shot narrowly wide, while Kelvin Etuhu glanced a header into the side-netting.
Fulham's enterprising start to the second half was rewarded when Dempsey equalised in the 50th minute.
Pablo Zabaleta carelessly gave the ball away in midfield as Zamora broke and slipped Dempsey in and he shot low past Given from the edge of the penalty area.
And it got better for Fulham just short of the hour when Nigel de Jong failed to clear a dangerous situation and Dickson Etuhu walloped an unstoppable shot from 25 yards high to the right of Given.
City manager Mark Hughes immediately brought on Daniel Sturridge and Robinho to join Ched Evans as all three substitutes were used by the midway stage in the second half.
But it failed to inspire the hosts and Fulham broke away to seal victory with a third goal seven minutes from time.
Zamora broke from midfield and released the impressive Dempsey on the edge of the penalty area and he slotted the ball through the legs of Given to complete City's misery.