Marten de Roon headed a last-gasp equaliser as Middlesbrough snatched a 1-1 draw against Premier League leaders Manchester City at the Etihad Stadium.
Sergio Aguero's 150th City goal just before the interval had looked like earning the hosts another three points but Pep Guardiola's men paid the price for failing to kill off the game.
City had 18 shots to Middlesbrough's none in the first half but their intensity dropped after the break and they were caught out when De Roon headed in Stewart Downing's cross in injury time.
Prior to that Boro had created few clear-cut opportunities but they were never out of the game as City's midweek exertions against Barcelona perhaps caught up with them.
That had seemed the case early on as City, who apparently rested Raheem Sterling, made a sluggish start.
But with Boro having arrived seemingly expecting an onslaught and setting up accordingly, often with 10 men in the box, they allowed City to take charge.
The hosts dominated possession and the chances eventually began to come in waves. Kevin De Bruyne had a free-kick blocked, Fernandinho fired a shot wide and Ilkay Gundogan failed to find the target after a good break down the right.
Victor Valdes was first called into action to deal with a long-range effort from Aleksandar Kolarov before De Bruyne shot across the face of goal. Valdes then denied Aguero after a clever backheel from Silva, who was ruled offside as he attempted to pounce on the rebound.
After Aguero put another attempt wide, the breakthrough finally came just before the interval. Boro again had players back in numbers but that did not prevent De Bruyne from curling in an inch-perfect ball into the box for Aguero to clip home first time from six yards.
Jesus Navas almost added an immediate second, striking the outside of the post as he registered yet another City attempt.
That forced Middlesbrough to come out of their shells and they almost caught City napping after the resumption as Adam Forshaw got behind the defence but Claudio Bravo raced off his line to block his shot.
City replied with De Bruyne teeing up further opportunities for Gundogan and Aguero but nothing came of them and the hosts seemed to tire.
There was alarm as Fernandinho lost possession on halfway and Boro broke but Downing drilled a shot across goal. Alvaro Negredo, facing his old club, also got clear down the right and fired in a dangerous low cross but John Stones just beat Forshaw to the ball.
Aguero should have made it 2-0 when he was picked out in the area by Navas five minutes from time but, despite having time to line up his shot, fired over.
That was a major let-off for Boro and they made sure they took advantage as Downing curled in a superb cross and De Roon made a perfect run to head home at the back post. It was too late for City to respond and two points were dropped.