Second-placed Atalanta moved up to 75 points with two games left to play, while Juventus can win the Scudetto for the ninth successive season if they beat Sampdoria at home on Sunday. Juve also have a game in hand.
Atalanta fell behind to a superb free kick from Hakan Calhanoglu, who sent a vicious dipping effort sailing over keeper Pierluigi Gollini in the 14th minute.
Pedro rocket hands Roma first win of new Serie A season
The visitors levelled through Duvan Zapata, who out-muscled Davide Calabria to slot it home in the 34th minute. But there was little sign of their usual offensive firepower as Milan easily held them to a 1-1 draw.
AC Milan win race for Sandro Tonali - just don’t call him ‘The New Pirlo’
Ibrahimovic to stay at Milan for another season - reports