The home side were level after an hour courtesy of Goktan Gurpuz's excellent double, but City held on during a frantic final 30 minutes that ebbed and flowed and saw chances for both sides, with the youngsters booking their place in the next round of the competition with that point.
City got off to the worst possible start when Paris Brunner’s fine header gave Dortmund an early lead. Just like in Seville earlier in our Group G campaign, City were caught cold before we could find our rhythm.
But we equalised in superb fashion and, as is so often the case, Carlos Borges was the architect.
He flew down the left and entered the area, before crossing for Oscar Bobb, whose close-range effort forced a fine reaction save from Silas Ostrzinski. But the ball ended up back at Borges’ feet, and he had the presence of mind to fire another cross across the six-yard area, this time to the feet of Will Dickson, who was there to tap home.
It was exactly what City deserved, with Brian Barry-Murphy’s side largely in control after weathering the early Dortmund storm.
City were almost ahead on the half-hour mark when Borges' powerful near-post strike was pushed onto the post by Ostrzinski. Bobb’s effort on the rebound was way off target, which, at first glance, looked like a poor miss, but closer inspection suggests it was a difficult ball to control.
But City didn’t have to wait long to go in front. Finley Burn’s fine ball through the lines was flicked on by Dickson into the path of O’Reilly, who finished superbly past Ostrzinski. It was slick play from City, who at this stage were firmly in control of proceedings.
Mebude made it 3-1 before half-time with a quite brilliant goal, as he danced past three players inside the area before firing home at the near post – a moment of magic from a player possessing outstanding quality.
The half-time scoreline was a fair reflection of City’s dominance.
But Dortmund reduced the arrears moments after the restart when Gurpuz blasted the ball past Mikki van Sas after fine work from marauding left wing-back Hendry Blank, bringing a swift German counter-attack to an emphatic conclusion.
Gurpuz's second - arguably the goal of the game - brought Dortmund level, as he cut inside before curling an outrageous effort into the far top corner from the edge of the 18-yard box.
To be level after such a dominant first-half performance was a true test of our character.
But we rose to the challenge, producing a final 30 minutes of grit, determination and hard work to ensure we got the point we needed to make it through to the knock-out phase.
XI: Ostrzinski, Semic, Collins, Mane (Meiser 38'), Cisse, Walz, Gurpuz, Blank, Brunner (Korzynietz 73'), Rijkhoff (Simick 60'), Bamber (Nwachukwu 60')
Unused subs: Kirch, Lubach, Ludwig
XI: Van Sas, Carrington, Burns, Katongo, Galvez (Taylor 79'), Charles, Bobb, O’Reilly, Mebude, Borges, Dickson
Unused subs: Alleyne, Murray-Jones, Wright, Adam, Ndala, Ogwuru
What it means
FC Copenhagen’s 2-1 loss away at Sevilla earlier in the day – coupled with our draw - means City are now safely through to the knock-out phase of the competition for the first time since the 2017/18 season.
City now have 11 points from five games, with second-placed Copenhagen back on seven.
The eight group winners, which includes City, are automatically through to the last-16. The eight runners-up go into the play-off stage with the eight survivors from the 32-team Domestic Champions path, and from there eight teams will emerge as last-16 contenders.
Stay tuned to mancity.com and the official Man City app for details of who we are drawn against.
Premier League 2 action returns at the weekend, with City travelling to Everton on Saturday. That game kicks off at 12:00 (UK).
City are currently third in the table after nine matches, level on points with second-placed Crystal Palace and just a point behind leaders Arsenal.
Our next UEFA Youth League assignment sees us host Sevilla on Wednesday 2 November. Kick off is at 15:00 (UK).
News about BVB v Man City
Watch Borussia Dortmund v City in the UYL live on CITY+ and Recast
Brian Barry-Murphy's UEFA Youth League side will be looking to seal qualification for the knockout stages and you can watch it all live on CITY+ or Recast. Read more
Borussia Dortmund Under-19s 3-3 City: Extended Highlights
Enjoy extended highlights from our UEFA Youth League matchday five fixture against Borussia Dortmund. Watch more
Borges targeting UEFA Youth League final
Winger Carlos Borges has expressed his desire to play in the final of this season’s UEFA Youth League. Watch more
Full-match replay: Borussia Dortmund Under-19s v City
Relive the full 90 minutes as Manchester City battled it out against Dortmund Under-19s in the UEFA Youth League. Watch more
UEFA Youth League Highlights: Borussia Dortmund 3-3 Manchester City
Manchester City secured their place in the knockout stages of the UEFA Youth League following a 3-3 draw with Borussia Dortmund in Germany. Watch more
Dortmund 3-3 City: Barry-Murphy thrilled as UEFA Youth League journey continues
Brian Barry-Murphy has hailed the ‘style and courage’ shown by his side to reach the last 16 of the UEFA Youth League. Watch more