To add insult to injury for City manager Roberto Mancini, Argentine striker Carlos Tevez refused to come on as a second-half substitute and looks set to never play for the club again.
Bundesliga top scorer Gomez, who only returned at the weekend from a groin injury, snatched a 38th-minute lead when he slid in after City keeper Joe Hart had saved efforts from Franck Ribery and Thomas Muller.
He added another in first-half stoppage-time as he again tapped in from close-range.
City, in only their second ever game in the competition having drawn 1-1 with Napoli in their opener, failed to leave their mark with another lacklustre performance and have not won any of their last five European away games.
In-form Bayern, eager for a fifth European Cup title with the Champions League final being held in Munich next May, have now won their last 10 games in all competitions without conceding a goal and top Group A with six points from two games.
"In the first 25 minutes we saw that City are a very good team and they are top of the Premier League alongside Manchester United for a reason. We needed our time to get into the game," Bayern coach Jupp Heynckes told reporters.
"We gradually improved, used weaknesses in our opponents' game and we showed how homogenous a team we are. To again keep a clean sheet especially in this competition means we are in very good form and my players deserve compliments."
With only one win in 17 appearances by English teams in Munich, the odds were stacked against City but the visitors looked livelier at the start and threatened after only a few minutes when Edin Dzeko's low drive was blocked by goalkeeper Manuel Neuer.
Mancini opted to start with the blossoming attacking partnership of Dzeko and Sergio Aguero, who between them have scored 14 league goals in City's unbeaten start to the Premier League, leaving Tevez on the bench.
With City pressing high, Bayern initially had problems cracking open a disciplined defence, trying their luck with some long-range efforts as Arjen Robben watched on from the bench.
Gradually, however, Ribery carved out space down the left wing and it was the Frenchman who set up the first goal, firing in from outside the box, keeper Joe Hart doing well to save it as well as Thomas Muller's rebound before the unmarked Gomez slid in for the lead.
The goal was exactly what Bayern needed to take control of the match as City were now boxed in their own half.
On the stroke of half-time Toni Kroos floated in a free-kick, Hart again was on hand to save Daniel van Buyten's glancing header but was helpless when Gomez scored from close-range, leaving the keeper furious with his defenders.
Germany international Gomez should have had a hat-trick, coming agonisingly close on two occasions in the second half as City were reduced to passive observers.
Mancini was furious with his strikers, taking off Dzeko and saying he was unhappy with the Bosnian's performance.
That was nothing compared to the wrath he bore towards Tevez.
The Italian said the Argentine would not play again for City as long as he was a coach.
"I think we need to improve," Mancini told reporters. "We played well for 25 minutes, 30 minutes but we conceded a stupid goal.
"But if we want to improve as a team Carlos can't play with us. With me, he is finished."
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.