Two goals from Morten Gamst Pedersen helped form team Blackburn Rovers continue their climb up the Premiership following their victory at Manchester City.
The Norwegian's double and a late strike from substitute Matt Derbyshire made it five league wins in their last seven matches, as they stretched their unbeaten run against City to seven games and they still have never lost at Eastlands.
While Mark Hughes had plenty to cheer, it was a far different story for City manager Stuart Pearce as his side's six-match unbeaten run came to an end.
After climbing into the top half of the Premiership and reaching the fourth round of the FA cup following a marked improvement in their fortunes, City failed miserably to deliver as they crashed to a third home league defeat of the season.
Hughes made four changes following his side's home defeat by Arsenal as Shabani Nonda, David Bentley, Kerimoglu Tugay and Jay McEveley all returned.
Lucas Neill, who is on the point of completing a transfer to West Ham, Brett Emerton, Aaron Mokoena and Derbyshire were the players to lose out.
City's one change following their FA Cup win against Sheffield Wednesday was enforced as Joey Barton served a one-match ban for amassing five bookings.
Hatem Trabelsi was recalled as Pearce switched to a 3-5-2 formation to beef up the centre of midfield in Barton's absence.
And how City missed the drive, energy and enthusiasm Barton provides following a lacklustre showing in the opening period.
Blackburn enjoyed the lion's share of early possession, but were unable to muster one on-target attempt at goal.
City also lacked attacking punch and had to wait until the 32nd minute before carving out their first clear cut chance.
Micah Richards' powerful far-post header from Ousmane Dabo's corner beat keeper Brad Friedel, but was chested off the goal line by David Bentley.
In the scramble from the corner Blackburn's Dutch defender Andre Ooijer was badly injured following a collision with Bernardo Corradi.
There was a stoppage of almost four minutes as Ooijer was taken off on a stretcher with winger Emerton brought on as an emergency right-back.
On the stroke of half-time Blackburn conjured a goal out of nothing as Pedersen stole in blind side of Trabelsi and powered a header past keeper Nicky Weaver from David Bentley's right-wing cross.
Pearce made a double half-time substitution taking off Trevor Sinclair and Corradi and replacing them with DaMarcus Beasley and Georgios Samaras in a switch to a more orthodox 4-4-2.
City looked better balanced and Samaras almost snatched an equaliser when he cut in from the left and curled a shot which was deflected narrowly wide.
Blackburn all but sealed victory just short of the hour when Pedersen struck again after Dabo conceded a free-kick 25 yards from goal.
Pedersen bent an exquisite free-kick round the defensive wall beating Weaver low to his right for his fifth goal of the season.
Darius Vassell ought to have halved the deficit midway through the second half but shot straight at Friedel when it looked as though he could not miss.
And Vassell had another excellent opening late on, but his superb shot on the turn was well beaten away by Friedel.
City's misery was complete in the final minute when Derbyshire made it 3-0 with a goal that summed up City's night.
Derbyshire left Stephen Jordan for dead as he breezed past him and scored with a low angled shot which crept inside Weaver's near post.