Subsitute Sergio Agüero headed in a 92nd minute winner for Manchester City as they came from behind to beat an impressive Bristol City side 2-1 in the Carabao Cup semi-final, first leg.
Bobby Reid was fouled by John Stones in the area on 44 minutes and tucked away the subsequent penalty to send the away side to dreamland, and into half-time with a 1-0 lead.
Captain Kevin De Bruyne stepped up to equalise 10 minutes into the second-half though, to set up what was predictable a predominantly-uncomfortable remainder of the match for the Robins.
The Championship side's hard work was undone in the 92nd minute though, when substitute Sergio Agüero headed home from close range to win it and take a 2-1 lead into the return leg.
Manchester City made four changes to the FA Cup third round side that rallied in the second half and came from behind to defeat Burnley 4-1 at the Etihad on Saturday.
David Silva and Nicolas Otamendi were left out altogether, with the trip to Liverpool later on this week in mind, but Kevin De Bruyne returned as a starter alongside Yaya Touré, Bernardo and Elaquim Mangala.
Lee Johnson made wholesale changes to his Bristol City team in the 3-0 defeat at Watford last time out, but recalled key stars for this one - seven switches, to be precise.
Captain Bailey Wright was always going to come back in at right-back as well as Joe Bryan and striker Bobby Reid, who scored a stoppage time winner to knock City's rivals Manchester United out at Ashton Gate in the last round.
Reid spot-kick earns visitors unlikely half-time lead
Nearly 8,000 Bristol City supporters travelled up to Lancashire for one of the biggest games in the club's recent history and were making themselves heard in the upper two tiers of the South Stand early on.
Expectedly, Manchester City started the match on top through waves of aggressive attacks, and Frank Fielding had to produce an acrobatic diving save to deny a Kevin De Bruyne mis-hit cross on five minutes.
City were handed a bit of a scare just after 10 minutes as Hörður Magnússon's long throw caused panic in the area and the ball fell perfectly for Jamie Paterson on the half-volley, but John Stones valiantly blocked his goal-bound effort.
The visitors had another opportunity to open the scoring in the 17th minute, and the home crowd would've been starting to realise that this team weren't going to be pushovers, despite their lower league status.
Joe Bryan brought the ball inside from the left wing and fired a shot at Claudio Bravo inside the area, but the Chilean goalkeeper could only divert the ball to the feet of Bobby Reid at a tight angle - the forward messed up the rebound though and couldn't find a teammate with his pass.
Half-chances were coming up all over the shop for Manchester City throughout the first-half but the Championship side continued to break well and were showing signs of why they came into the game as Carabao Cup top scorers with 16 goals.
Oleksandr Zinchenko failed to properly clear an inviting cross from the left flank and the ball fell kindly for Marlon Pack on the edge of the area, who fizzed a low effort straight into the arms of a grateful Bravo.
A short corner to Kevin De Bruyne was opted for again by the hosts a few minutes later, he gave the ball to İlkay Gündoğan and the German midfield man saw his promising attempt deflected off teammate Elaquim Mangala, who should've converted it home from eight yards out.
The promotion-chasing Robins were showing that they certainly have the credentials to be a Premier League team all the way through the first half, and took an unthinkable, but arguably deserved, lead into half-time.
Mangala carelessly gave possession away in his own half and Jamie Paterson threaded a slick pass through for Bobby Reid to run onto in the area, before John Stones produced a clumsy sliding challenge from the side - one of the clearest penalty decisions you'll ever see.
It was one of the coolest penalties you'll see as well, the man who was fouled powerfully placed his spot kick low to the right of Claudio Bravo to send the away end into a 44th minute frenzy. Bristol City were going to take a 1-0 lead into half-time on the Premier League leaders' back yard.
Raheem Sterling tried to ensure that wasn't the case in the final bit of action in stoppage time, after he was found in acres of space on the right side of the area by Bernardo, before lobbing Fielding for an inevitable goal.
Centre-back Aden Flint did all he could to keep his side's unlikely lead though, and that helped him pull off a phenomenal goal line block, tracking back at pace before making a last-gasp leap to head over Sterling's effort.
Manchester City undergo another second-half fightback
Aden Flint had a great chance to make it 2-0 to Bristol City eight minutes into the second period, but his header on the end of Joe Bryan's cross from the left was straight at Bravo from almost point-blank range - those have to find the back of the net in these situations.
Raheem Sterling nearly punished that miss immediately down the other end as he got into the area with the ball at his feet and aimed a ferocious strike towards goal, which was confidently forced away by Frank Fielding in between the sticks.
Manchester City did finally find their cutting edge to equalise in the 55th minute though, with captain for the evening Kevin De Bruyne setting up a very difficult rest of proceedings for the visitors.
It was a routine Pep Guardiola goal as well, Bravo quickly played it out to the centrally-positioned Belgian midfielder who broke with pace before playing a slick one-two with Sterling and firing past Fielding from 12 yards out - sumptuous stuff.
Bristol City's goal continued to be mercilessly pressurised, and Fielding did brilliantly well to deny Sterling again with 20 minutes left on the clock, before Pep Guardiola turned things up a notch by replacing Yaya Touré with club-record goalscorer Sergio Agüero in the next break of play.
Lee Johnson made his first subsitution of the night a few minutes later, bringing on new signing from Everton, Liam Walsh, on for Hörður Magnússon.
The open nature of the final 10 minutes capped off a brilliant football match as both sides clearly felt like they could take an advantage into the return leg at Ashton Gate.
Kevin De Bruyne searched for a second on 86 minutes and had a shot deflected just wide of the left post after jinking his way past two defenders.
Debutant Liam Walsh had the ball down the other end and fired a shot into the side netting from a tight angle inside the area, that was met by a few seconds of cheers from the away end, who thought he'd scored the winner.
Three minutes of stoppage time was added at the end of proceedings, and Sergio Agüero struck in the second of those to secure a big victory for Manchester City in the death.
Bernardo picked up the ball on the right wing and hit an in-swinging cross towards goal, and the substitute Argentinian got there before Frank Fielding to head it into the net.
The full-time whistle blew shortly afterwards, which meant Pep Guardiola's men were to take a 2-1 lead into the second leg, their ninth consecutive League Cup win against a lower league side, at Ashton Gate
But based on that Bristol City performance, they'll certainly know it won't be an easy ride whatsoever.