
Lecce shocked their more celebrated opponents when they took the lead after just three minutes, with Theo Hernandez chesting in an own goal following a defensive blunder from Pierre Kalulu.
The hosts doubled the lead in the 23rd minute after Morten Hjulmand sent a cross into the box and defender Federico Baschirotto headed it into the right corner.
Milan reduced the arrears shortly after the break when Leao picked up a rebound from Lecce keeper Wladimiro Falcone and fired it into the net.
A well placed header from Calabria made it 2-2 in the 70th minute.
The result left Milan second in the standings with 38 points after 18 games, one point ahead of Juventus and nine behind Napoli.