The Turkish midfielder met Suso’s cross with a glancing header to score only his second league goal of the season in the 36th minute and leave Fiorentina coach Vincenzo Montella waiting for his first win since taking charge one month ago.
Milan, needing a top-four finish to qualify for the Champions League, are fifth with 62 points, one behind Inter Milan who do not play until Monday when they host relegated Chievo.
Third-placed Atalanta have 65 points after beating Genoa 2-1 earlier on Saturday.
‘There are regrets for the points we’ve lost along the way but we can’t stop believing in the Champions League now,’ said Milan coach Gennaro Gattuso whose own future at the club is uncertain.
‘We stopped passing the ball around in the second half and risked conceding an equaliser, but no player let me down.’
Fiorentina, who have dropped to 13th in the table, are winless in their last 14 games in all competitions including six since Montella replaced Stefano Pioli.
They have lost their last five games, all by a single goal, and not scored in their last three.
The hosts nearly levelled when Federico Chiesa cut inside and fired at goalkeeper Gianluigi Donnarumma who spilled the shot but Alessio Romanogli rescued Milan with a desperate clearance.
‘Our problems are exclusively mental, we don’t have the mental energy to withstand a game of 90 minutes.’ Montella said.
‘The lads are not playing to their full potential, at the first sign of difficulties, they stumble and lose the characteristics you need to play a game of football.
‘The players are not calm, a difficult atmosphere has been created.’