City reached the fourth round of the EFL Cup for the first time since 1989 courtesy of Tammy Abraham’s 90th minute winner at Fulham.
There was a sense of deja-vu at Craven Cottage, as, much like their last visit in March, City trailed early on only to win the game at the death.
Lucas Piazon headed the hosts in front before Aaron Wilbraham’s delicate finish levelled things up on the stroke of half-time.
Then debutant goalkeeper Ivan Lucic made a name for himself, saving Cauley Woodrow’s 51st minute penalty to leave Fulham fearing the worst.
Sure enough, substitute Abraham was in the right place at the right time to score his ninth goal of the season and send City into the last 16.
Lee Johnson handed debuts to three of his summer signings, making nine changes in all from the starting line-up that took to the field against Derby County in the Sky Bet Championship.
Lucic, Taylor Moore and Gustav Engvall all featured for the first time, while Adam Matthews returned from a hamstring injury as only Aden Flint and Marlon Pack kept their places from the Derby draw.
It was the hosts who enjoyed the better of the early exchanges, as Woodrow’s attempted curler missed the target before the striker just failed to connect with Scott Malone’s low cross.
Malone was proving a useful outlet down the Fulham left, but it was a cross from the right that paved the way for the opening goal after 15 minutes.
When Woodrow peeled out to the wing, his delivery was converted by a fine stooping header from Piazon that looped over the dive of Lucic to find the top corner.
City were enjoying good spells of possession, with Moore looking particularly comfortable with the ball at his feet, but Fulham carried the greater goal threat.
Woodrow looked like a blind optimist when he lined up a 35-yard free kick, but his terrific strike beat the City wall and had Lucic scrambling to his left relieved to watch it wide.
The pair went eye to eye again when Adetayo Edun’s first-time pass sent the youngster bearing down on goal, but Lucic was quick from his line and thwarted the Fulham man with a smart stop.
The former Bayern Munich stopper would have been powerless to prevent the home team doubling their lead before the break when Woodrow’s shot took a massive deflection off Flint but thankfully dropped wide of the target.
Then Malone took aim from the edge of the box with a wonderful left-footed effort that was always curling away from Lucic and only just eluded his left-hand post.
City had been far from their best but did string together an excellent piece of football to draw level on the stroke of half-time.
Having drifted inside from the left touchline, Callum O’Dowda committed defenders with a driving run through the middle of the pitch before sliding the ball to his left for Wilbraham to convert with a cheeky chip over advancing keeper Jesse Joronen.
Johnson made his first change at the interval as Mark Little replaced Matthews, but soon found his team under the cosh again.
When Moore was caught on the wrong side of Woodrow inside the box, the defender dragged him down and immediately knew he was in trouble.
With his face still buried in the turf, the defender was booked and Woodrow had the chance to reclaim Fulham’s lead from the penalty spot.
City needed a hero and the rookie debutant was it. After offering the striker virtually his entire goal to aim at, Lucic, standing way to his left, launched himself to his right to keep out the spot-kick and take the acclaim of his team-mates.
Suddenly City would find themselves in the ascendancy. Referee Andy Davies was soon having to make another big decision when O’Dowda sprinted through only to be brought down by Joronen.
Yellow card and a free kick right on the edge of the area was the verdict, prompting Luke Freeman to step up and force an important save.
The introduction of Abraham in place of Engvall only served to increase City’s threat, but it was strike partner Wilbraham who was in the thick of the action.
First the skipper should have done better from Pack’s lofted pass over the defence, dragging the chance wide on his left foot, before O’Dowda’s enticing cross was steered wide from six yards with the goal at his mercy.
In between times, Abraham turned sharply in the box and forced a low save from the sprawling Joronen as City began to dominate.
But with extra time looming, the game opened up and the hosts came back into it. Piazon snatched at a presentable opportunity, blasting over from 18 yards, before Ryan Tunnicliffe’s drilled cross missed out everybody in the danger zone.
Johnson threw his last card with 13 minutes left, as Bobby Reid replaced Wilbraham to play in behind Abraham.
A big chance to win the tie inside 90 minutes arrived with six to go. City sliced through the Fulham defence on the halfway line with some slick interplay that sent Freeman clean through on goal, but, with time on his side, the midfielder was denied by Joronen’s legs as he tried to thread the ball between them.
Fortunately there was still time. A more patient approach down the City left resulted in O’Dowda’s low cross picking out the near post run of Abraham, who was inevitably in the right place to force the ball over the line and rewrite a little piece of history.