Milan, missing their 39-year-old leading scorer Ibrahimovic through injury as well as coach Stefano Pioli with a COVID-19 infection, were awarded another penalty before halftime, after Theo Hernandez collided with Martin Caceres.
But this time, after a long wait for VAR to confirm the decision, Kessie saw his weak effort palmed away by Bartlomiej Dragowski.
Milan, who have gone 21 Serie A games unbeaten since losing to Genoa in March, have 23 points, five clear of Inter and Sassuolo in their best start to the season since the three-points-for-a-win system was introduced in 1994-95.
Fiorentina were left on eight points after suffering a second straight defeat since the return of Cesare Prandelli for a second stint as coach.
Hakan Calhanoglu nearly added a third goal after halftime but saw his shot bounce off the post.
Milan goalkeeper Gianluigi Donnarumma had little to do but made one excellent save, raising his hand and pushing away Frank Ribery's shot after the Frenchman attempted to chip the ball over him.