The result means the sixth game in a row without a loss for Milan.
It took until the 77th minute before David Okereke gave Cremonese the lead.
The equalizer came in stoppage time, when Junior Messias pounced and scored for Milan from a pass by Rade Krunic. The 1-1 goal was the last of the match.
In stoppage time, Cremonese’s Charles Pickel received a red card, and had to play with one man less in the final minutes.
Milan have one win and four draws and 5-3 goal difference in the last five matches, while Cremonese have two wins, two draws and one loss and 6-7 goal difference. This was Milan’s tenth draw this season.
Milan’s new table position is sixth, while Cremonese are in 19th.
On Saturday 6 May, Milan play at home against Lazio at 15.00 and Cremonese against Spezia at home at 20.45 at Stadio Giovanni Zini.