Although City looked capable of becoming only the second team to beat the German giants on their own ground in European combat for half an hour, two Mario Gomez goals in eight minutes before the break turned the tie on its head at the Allianz Arena.
Then, when City boss Roberto Mancini introduced Nigel de Jong for Edin Dzeko 10 minutes after the restart in an attempt to stem the flow of Bayern attacks, the Bosnian seemed to exchange words with his manager.
This then drew Carlos Tevez into a row, with some reports suggesting that the Argentina star, left stewing on the bench on Saturday, had refused to warm up, which then led to an exchange between the striker and fellow countryman Pablo Zabaleta.
Yet what Mancini had done worked.
De Jong’s presence denied Bayern the room that they had been exploiting so effortlessly.
This was supposed to be the final frontier for City.
Instead, they discovered just how steep the learning curve is to make the transition from Champions League qualifiers to actual contenders.
They were unfortunate that Hungarian referee Viktor Kassai did not spot either of the two decent penalty claims City had before Gomez struck.
Former City defender Jerome Boateng was the guilty man on both occasions, the first of which at least looked pretty clear. David Silva contributed to the problem by admirably trying to play on when he got clipped close to the byline.
If the Spain midfielder had been more theatrical, he might have gained a spot-kick. Instead he tried to play Samir Nasri in and City got nothing.
Boateng also barged Micah Richards over but this would have been more debatable, even if Yaya Toure made his displeasure known to the official.
However, with Silva and Nasri scheming and Dzeko looking a threat, City were the better side for half an hour, when it appeared they might emulate Norwich, who remain the only English team to beat Bayern on their own ground in 16 attempts.
Once Franck Ribery got into his stride, City were in trouble.
The French winger has destroyed plenty of teams down the years and now it was the turn of Mancini’s men to feel the heat.
Ribery sped past Gareth Barry before setting up Thomas Muller, but his effort flew over.
Muller then turned provider as City tried to play a woeful offside. Again they escaped as Bastian Schweinsteiger failed to find his range.
The Blues were in trouble though and it was no surprise Bayern scored on their next attack.
No surprise either Ribery was the architect, lashing another fierce shot goalwards that City goalkeeper Joe Hart could not hold.
Somehow, Hart prevented Muller tucking home the rebound. But he could not stop Gomez making it third-time lucky as he finished from close range.
Sergio Aguero was booked for a foul on Schweinsteiger as City tried to steady the ship.
But worse was to come in stoppage time when Toni Kroos fizzed over a free-kick that Daniel van Buyten flicked goalwards.
Again, Hart saved. Again, Bayern had another option as Gomez tucked home his second.
City nearly conceded a third when Muller just failed to turn home Philipp Lahm’s near-post cross.
Discontent was raging on the sidelines though and Gael Clichy was booked as City’s bad night got worse.
Kolo Toure was also booked as he gave away a free-kick which would have led to a third Bayern goal if Hart had not superbly turned Gomez’s header away.
Arjen Robben replaced Ribery, his work done, in the final minute, before substitute Aleksandar Kolarov rolled the last chance wide for City in stoppage time.