"We're at a good level, but against a top team like Manchester City we had a few problems putting our chances away," admitted Bayern star Thomas Mueller who set up the winning goal and netted a penalty.
Both teams have new managers at their respective helms as ex-Barcelona boss Guardiola experiments with his starting line-up, including Germany star Bastian Schweinsteiger, who celebrated his 29th birthday.
Likewise, new City boss Manuel Pellegrini is still looking for his best line-up after succeeding Roberto Mancini.
Eight days before Munich kick-off the new Bundesliga season at home to Moenchengladbach, Croatia striker Mario Mandzukic headed home Bayern's 73rd-minute winner.
City's Spanish striker Alvaro Negrado had given the guests the lead with an hour gone when he slotted his shot into the bottom left corner after France's Sami Nasri unlocked the Bayern defence.
Champions League winners Bayern got back on level terms just five minutes later when City's Pablo Zabaleta gave away a handball penalty after a tussle with Mandzukic and Mueller slotted home the resulting spot-kick.
Mandzukic, who scored Bayern's first goal in the 2-1 Wembley victory over Borussia Dortmund to give them their fifth European crown, then got on the end of Mueller's cross to drill home the winner as Guardiola's side bounced back from Saturday's 4-2 defeat to Dortmund in the German Super Cup.
Bayern's Germany goalkeeper Manuel Neuer came to the hosts rescue a minute from the final whistle when he denied City striker Edin Dzeko with a superb save.
On Wednesday, Bayern had qualified for the final with a 2-0 win over Brazil's Sao Paolo, while City had one through after a 5-3 win over AC Milan in an eight-goal thriller.
Photos: Aamir Khan with 'Dangal' actresses at fashion show
Spotted: Twinkle Khanna, Shriya Saran at an event in Mumbai
Andrew Flintoff's birthday: 10 players who entered different sports
Photos: Ranveer Singh and Vaani Kapoor go 'Befikre'
Photos: Aishwarya, Sridevi, Karisma at Manish Malhotra's birthday bash