Match ends, Bristol City 2, Manchester City 3.
Bristol City 2-3 Manchester City (Agg: 3-5)
Manchester City reached their first final under Pep Guardiola as the Premier League leaders beat battling Bristol City in the Carabao Cup.
Already leading 2-1 from the first leg, goals from Leroy Sane, Sergio Aguero and Kevin de Bruyne at Ashton Gate ensured Manchester City's place at Wembley on Sunday, 25 February.
They dominated the first half and Sane deservedly put the visitors in front shortly before the break, with his deflected shot bouncing in after Bernardo Silva had dispossessed Hordur Magnusson.
Manchester City looked to have all but killed the tie early in the second half when Aguero's strike across goal rounded off a lethal counter attack.
The Championship team produced a rousing final 20 minutes to give Guardiola's side a brief late scare, with Marlon Pack's smart header and Aden Flint's stoppage-time goal threatening for a moment to take the tie into extra time.
But De Bruyne's calm finish with the final kick of the game denied Bristol City a creditable draw on the night and confirmed Manchester City's place in the final, where they will face either Arsenal or Chelsea, who play the second leg of their semi-final on Wednesday.
The Robins, meanwhile, will turn their attention towards converting their current fifth place in the second tier into promotion - with their four previous victories over Premier League opposition in the Carabao Cup giving them a taste of what they hope is to come.
- Reaction: 'A good lesson for the Champions league'
- Relive Manchester City's Carabao Cup semi-final win at Bristol City
Guardiola takes no chances at Ashton Gate
Guardiola has previously used this competition to rest and rotate a number of his star players, but he picked a near full-strength side for the second leg, making just two changes to the team that beat Newcastle in the Premier League on Sunday.
His selection was tribute to the way Bristol City had performed at the Etihad a fortnight ago, impressing many with their adventure and attacking intent.
There would be no such repeat at Ashton Gate, however, with the away side taking complete control almost from the very first whistle.
Aguero's cross clipped the bar and David Silva's low shot had to be palmed away even before Sane's opener - and once Manchester City were able to add a ruthless streak to their overall dominance it was always going to be a big ask for the home team.
Despite the impressive late rally, culminating in makeshift striker Flint stabbing in for 2-2, the visitors were still more than good value for their victory across both legs.
They had 68% possession and finished Tuesday's game with 28 shots on goal, scoring from three of the six they got on target.
Can Man City do the quadruple?
Guardiola is now just one game from winning his first silverware with Manchester City, having endured only the second barren season of his managerial career in 2016-17.
The 47-year-old Spaniard, who won 14 trophies in four years as Barcelona boss and a further seven in three years at Bayern Munich, is hoping to lead City to an unprecedented quadruple.
He has repeatedly played down his team's chances of achieving that feat, yet they continue to fight strongly on all fronts - already 12 points clear in the Premier League, they have also reached the last 16 of the Champions League and the fourth round of the FA Cup.
Domestically, only Liverpool have found a way to beat them so far this season, meaning the one apparent remaining question mark is over whether they can translate their league and cup form into European competition.
If they are able to progress beyond FC Basel and into the quarter-finals of the Champions League, even at this early stage they may seldom have a better opportunity of sealing a clean sweep of league and cups.
A step too far for brave Bristol City
Lee Johnson and his players earned plenty of plaudits after their first-leg defeat, with Guardiola describing Bristol City as a "fantastic team" and lauding their style of play and attacking intent as "good for the show".
Despite trailing on aggregate throughout the second leg, the fact they became only the second team since October to score twice in a domestic match against Manchester City spoke volumes of both their quality and spirit.
The Robins had already seen off top-flight sides Watford, Crystal Palace, Stoke City and famously Manchester United on their way to the last four - though two legs against the runaway Premier League leaders was always going to be a tall order.
Following a tentative opening period, during which they were pinned back for long spells, they looked much more of a threat with the half-time arrival of £5.3m summer signing Famara Diedhiou.
Head coach Johnson will now hope the return of Diedhiou, who has missed the past three months with a knee injury, can also inspire his side towards achieving the ultimate goal of securing top-flight football for the first time since 1980.
What they said:
Bristol City boss Lee Johnson: "We came close to a draw. They are a top, top side, probably the best side I've seen live.
"They have so many players that are intricate and have class on the ball and sometimes you have to hold your hands up and say 'they are a better side than us'.
"But the spirit we showed, we never gave in and we continued to try and attack and scored two goals and not many teams can score two goals against a side like that."
Manchester City manager Pep Guardiola on Sky Sports: "We are so happy to be there, to reach this final. We played an amazing game until 2-0 and then we lost control, these type of games never end until the end.
"At 2-0 we knew it would be easier because they needed three or four goals but with one minute left it was 2-2 and anything could happen.
"It's not for me, it's for Manchester City, a club who are trying to reach another level. We try to keep going, the important thing for me is to be there."
A landmark game for Pep - the stats
- Pep Guardiola celebrated his 363rd victory in top-flight management in what was his 500th game, with 63 of those victories coming in 92 games with Manchester City.
- Guardiola has now won 11 of his 18 semi-final ties, reaching his first final as a manager in England.
- Bristol City have won just once in nine games in all competitions (D2 L6) since their victory over Manchester United in the quarter-finals.
- Manchester City have reached their sixth League Cup final, winning four of the previous five — 1970, 1976, 2014 and 2016.
- Man City have progressed to a domestic cup final for the fourth time in the last six seasons (excl. Community Shield); winning the League Cup in 2014 and 2016, as well as finishing runners-up in the 2013 FA Cup.
- Marlon Pack's header ended Bristol City's run of 550 minutes without scoring a goal from open play in all competitions.
- Leroy Sane has either scored or assisted in five of his six appearances for Manchester City in 2018 (3 goals, 4 assists).
- In fact, the German winger has provided 14 assists for Manchester City in all competitions this season; no Premier League player has provided more (level with teammate Kevin de Bruyne).
- Sergio Aguero has scored eight goals in six appearances since the turn of the year, assisting one more.
Bristol City resume their bid for promotion to the Premier League as they host QPR on Saturday, 27 January (15:00 GMT). Manchester City, meanwhile, are away to Championship side Cardiff City in the fourth round of the FA Cup on Sunday, 28 January (16:00 GMT) in a game that is live on BBC One.
- 23MagnussonSubstituted forBakerat 45'minutes
- 20PatersonSubstituted forKentat 73'minutes
- 12WalshSubstituted forDiedhiouat 45'minutes
- 2WalkerSubstituted forDaniloat 85'minutes
- 17De Bruyne
- 25FernandinhoBooked at 21mins
- 21SilvaBooked at 90mins
- 20Bernardo Silva
- 10AgüeroSubstituted forGündoganat 82'minutes
- 42Y Touré
- Graham Scott
- Shots on Target
Second Half ends, Bristol City 2, Manchester City 3.
Goal! Bristol City 2, Manchester City 3. Kevin De Bruyne (Manchester City) right footed shot from the centre of the box to the bottom left corner. Assisted by Leroy Sané.
David Silva (Manchester City) is shown the yellow card for a bad foul.
Foul by David Silva (Manchester City).
Marlon Pack (Bristol City) wins a free kick in the defensive half.
Goal! Bristol City 2, Manchester City 2. Aden Flint (Bristol City) right footed shot from very close range to the bottom left corner. Assisted by Bobby Reid with a headed pass.
Offside, Manchester City. Nicolás Otamendi tries a through ball, but David Silva is caught offside.
Offside, Manchester City. Oleksandr Zinchenko tries a through ball, but Bernardo Silva is caught offside.
Corner, Manchester City. Conceded by Joe Bryan.
Attempt blocked. Ilkay Gündogan (Manchester City) right footed shot from the centre of the box is blocked. Assisted by Leroy Sané.
Offside, Bristol City. Josh Brownhill tries a through ball, but Aden Flint is caught offside.
Attempt missed. Danilo (Manchester City) right footed shot from the right side of the box is close, but misses to the left. Assisted by David Silva following a fast break.
Hand ball by Kevin De Bruyne (Manchester City).
Hand ball by Joe Bryan (Bristol City).
Attempt missed. Famara Diedhiou (Bristol City) right footed shot from the left side of the box misses to the left.
Substitution, Manchester City. Danilo replaces Kyle Walker.
Foul by Kyle Walker (Manchester City).
Famara Diedhiou (Bristol City) wins a free kick in the defensive half.
Substitution, Manchester City. Ilkay Gündogan replaces Sergio Agüero.
Attempt blocked. Bernardo Silva (Manchester City) right footed shot from the right side of the box is blocked. Assisted by Kyle Walker.
Delay over. They are ready to continue.
Delay in match Kyle Walker (Manchester City) because of an injury.
Substitution, Bristol City. Ryan Kent replaces Jamie Paterson.
Corner, Manchester City. Conceded by Bailey Wright.
Attempt blocked. Leroy Sané (Manchester City) left footed shot from the centre of the box is blocked.
Attempt blocked. David Silva (Manchester City) left footed shot from the centre of the box is blocked. Assisted by Bernardo Silva.
Bernardo Silva (Manchester City) wins a free kick on the right wing.
Foul by Jamie Paterson (Bristol City).
Attempt blocked. Bernardo Silva (Manchester City) left footed shot from outside the box is blocked. Assisted by Kevin De Bruyne.
Attempt missed. Sergio Agüero (Manchester City) left footed shot from the centre of the box is high and wide to the left. Assisted by Fernandinho.
Corner, Manchester City. Conceded by Marlon Pack.
Goal! Bristol City 1, Manchester City 2. Marlon Pack (Bristol City) header from the centre of the box to the bottom left corner. Assisted by Jamie Paterson.
Attempt blocked. David Silva (Manchester City) right footed shot from the centre of the box is blocked. Assisted by Leroy Sané.
Delay over. They are ready to continue.
Delay in match Bobby Reid (Bristol City) because of an injury.
Bernardo Silva (Manchester City) wins a free kick in the defensive half.
Foul by Korey Smith (Bristol City).
Attempt saved. Famara Diedhiou (Bristol City) left footed shot from the right side of the box is saved in the centre of the goal. Assisted by Josh Brownhill.
Fernandinho (Manchester City) wins a free kick in the defensive half.