Manchester City are into the English League Cup final, shattering second-tier Bristol City's hopes of a remarkable upset.
The Premier League leaders survived a late fightback to win 3-2 at Ashton Gate and clinch their semi-final tie 5-3 on aggregate.
City appeared to be cruising when goals from Leroy Sane and Sergio Aguero either side of halftime put them three goals up over the two legs, after a 2-1 win in the first leg, before their plucky opponents dragged themselves back into the game in front of 26 thousand fans.
Marlon Pack reduced the arrears for the hosts and Aden Flint grabbed another deep into stoppage time to make it 2-2 on the night, leaving them one goal short of forcing extra time.
There was time for one more goal, but sadly for the second-tier side, it was scored by the visitors' Kevin De Bruyne in the sixth minute of added time, leaving Pep Guardiola's Manchester City side to face Arsenal or Chelsea in the final on February 25th.
De Bruyne said "The first game was difficult but I think we controlled it today. They didn't have a lot of chances and scored from two long balls. But the way they try to play is fantastic and a lot of people enjoy that type of football.
"Today we showed them we are ready to go to Wembley, to do our thing, and we're very happy with how we performed.
"I came here to win finals, and we will go there and try to win again. I'm very excited about it. They call it the littlest trophy of the year but everything you can take you will take. We've had a good season so far but now the big games are coming and hopefully we can keep up the intensity and the quality."
The second semi-final, second leg is at the Emirates tomorrow with the tie level at nil-all.