Two late goals from Lech Poznan condemned faltering Manchester City to a third straight defeat and increased the pressure on manager Roberto Mancini.
With the scores locked at 1-1 following efforts from Dimitrije Injac and Emmanuel Adebayor, City's Europa League Group A rivals struck twice in the last five minutes to take the points.
Dedryck Boyata headed against the unwitting Manuel Arboleda to make it 2-1 before Mateusz Mozdzen hit a screamer from the edge of the area to seal it in style.
It was Jose Maria Bakero's first match in charge of the Polish side following his appointment on the eve of the game and he immediately followed in the footsteps of Arsene Wenger and Mick McCarthy in outwitting the troubled Mancini.
With both Yaya and Kolo Toure left in Manchester and Carlos Tevez on his way back from Argentina, Mancini was forced to make changes.
He embraced the idea, using the match to give the likes of Shay Given, Shaun Wright-Phillips, Wayne Bridge and Joleon Lescott game time.
City's first chance came after four minutes, Adam Johnson surging into the Poznan area before the ball broke for James Milner to poke unsuccessfully at goal.
Lescott netted from an eighth-minute corner but was unsurprised to see the effort chalked off for offside.
Sergei Krivets wasted a chance to create something for Poznan, receiving the ball in space on the left before turning into trouble and delivering a poor cross.
Good work from Artjoms Rudnevs and the lively Semir Stilic almost opened City up after quarter of an hour, but the final pass was just too heavy.
Mancini's side should have been ahead two minutes later, Patrick Vieira first missing from a tight angle then Adebayor seeing his close-range header nodded back off the line by Bartosz Bosacki.
Seconds later Boyata spurned an even better chance, heading tamely into the ground from a couple of yards.
Poznan used the let-off as a spur to up their game.
First Slawomir Peszko sent a free-kick skidding past the post before Stilic bent a first-time effort narrowly wide from the edge of the box.
By half an hour the Poles had a deserved lead. Vieira lost possession to Ivan Djurdjevic deep in the Poznan half, with the ball eventually finding Krivets on the left flank.
His cross was average but two ineffective defensive headers saw the ball fall to Injac, who lashed a low volley into the bottom corner from 25 yards.
Meanwhile, both Bridge and Micah Richards earned bookings before the break as frustration took its toll.
Wright-Phillips paid the price for a poor 45 minutes and was replaced by David Silva at the interval.
The Spain forward took up the space behind Adebayor, with Milner moving to the wing.
It was Milner's corner that created the equaliser after 50 minutes, Adebayor rising above his man to head powerfully at goal.
Jasmin Buric pulled off a fine reaction save but was unfortunate to see his parry bounce to the Togolese striker, who belted home enthusiastically.
Poznan were visibly deflated by the goal but picked themselves up enough to give Marcin Kikut a half chance, though Pablo Zabaleta was on hand with a saving tackle.
In Stilic they also had the game's liveliest player and he created another chance just after the hour mark, laying off for Rudnevs, who drew a smart save from Given at the near post.
Silva came close with 20 minutes left, Adebayor chipping back into the box from the byline and the Spaniard volleying into the turf, only for the ball to loop up and force Buric into action.
Aleksandar Kolarov came on for City, his first appearance since injuring his ankle on his debut in August, but it was not to be a happy return. With five minutes left on the clock a hopeful ball into the away area was met by Boyata, but he only succeeded in heading the ball back off Arboleda.
The defender knew little about it but with Given stranded the ball nestled in the far corner.
Mozdzen, a substitute, scored a goal more fitting of the result in the final minute when he profited on Vincent Kompany's error to beat Given with a rocket from outside the area.