Manchester City forward Sergio Aguero's last-gasp header secured a 2-1 victory over Bristol City in their League Cup semi-final first leg on Tuesday after the second-tier side had frustrated the Premier League leaders.
City, who have dished out a string of maulings in a stellar league campaign, found the Championship side a tough nut to crack and had to wait until the 92nd minute to grab the winner when Argentine substitute Aguero darted in to head home.
The visitors had opened the scoring with a penalty just before halftime after central defender John Stones had fouled Bobby Reid, who dispatched the spot kick with aplomb.
Kevin De Bruyne's equaliser soon after the break turned the tide and City then laid siege to their opponents' defence in the closing stages before Aguero's goal gave them a vital advantage ahead of the return leg in two weeks' time.
"My players were fantastic because in football you can win, you can lose, but we try until the end. We win many games in the last minutes because we don't give up," City manager Pep Guardiola told Sky Sports.
With ManchesterCity unbeaten domestically all season and streaking clear in the Premier League it was hard to imagine them facing much of a test at home to Lee Johnson's side, who are 14 points off the pace in the second division.
Yet the visitors had beaten four top flight sides en route to the semi-finals, including City's arch rivals Manchester United in the last round, and were in no mood to lie down and wait for Guardiola's City juggernaut to mow them over.
The hosts enjoyed the majority of early possession and came close to taking the lead when Bernardo Silva's deflected effort rippled the side netting in the 15th minute, before De Bruyne forced visiting keeper Frank Fielding into a sharp save.
Yet the Championship side looked threatening on the break and, after the hosts had their own penalty appeal turned down when Bailey Wright manhandled Stones, referee Anthony Taylor pointed to the spot at the other end.
Stones dived into a rash challenge on Reid, who stepped up and coolly dispatched his penalty a minute before halftime.
City were almost level immediately but Raheem Sterling's chipped effort was headed off the line and over by Aden Flint while the England winger was denied again when one-on-one with the keeper early in the second half.
The lead lasted until the 55th minute when De Bruyne drove forward and fed Sterling, who pulled the ball back for the Belgian to lash home from 15 metres.
Sterling fluffed another chance when he struck the ball straight at Fielding from close range with 20 minutes remaining, while Leroy Sane dragged an effort wide before Guardiola summoned Aguero off the bench.
It proved decisive as Silva dinked in a cross and the diminutive Argentine nipped in front of Fielding to power home a header from close range.
English champions Chelsea host Arsenal in a London derby on Wednesday in the other semi-final first-leg clash.