But they started shakily, keepr Hans-Jorg Butt and defender Daniel van Buyten furiously exchanging words after almost letting in Alberto Gilardino to score.
Cesare Natali and Gilardino both missed decent chances as La Viola dominated early on, but Bayern improved as the first half wore on and just before the interval they went ahead.
Ribery fell under Kroldrup's challenge in the Fiorentina box and though Mario Gomez slotted home as the ball broke to him, referee Tom Henning Ovrebro had already awarded the penalty which Robben duly tucked home.
The Italians had every right to feel aggrieved at going in behind, but it took them only five minutes after the break to level as Kroldrup made amends when a corner was not cleared by the home side's defence.
The controversy started in earnest when Ovrebro - who officiated the controversial semi-final between Barcelona and Chelsea last season - showed Gobbi a straight red for his challenge by the touchline on Robben.
Ovrebro then missed what appeared to be a dangerous two-footed lunge from Klose on Felipe, though the worst error was still to come.
With time running out Robben's drive forced a good save from Sebastien Frey and when Olic headed the rebound on to Klose to nod home he was at least two yards offside.
But Ovrebro allowed it to stand and Fiorentina must come from behind to reach the quarter-finals when the second leg is played in Italy on Tuesday 9 March.
Bayern Munich: Butt, Lahm, Van Buyten (Contento 46), Demichelis, Badstuber, Robben, Van Bommel, Schweinsteiger, Ribery, Gomez (Olic 66), Muller (Klose 66). Subs Not Used: Rensing, Altintop, Pranjic, Tymoschuk.
Bookmark with:
What are these?