Andrea Belotti had put Torino ahead after 21 minutes with his 14th league goal of the season and Marco Benassi adding a second for the hosts five minutes later.
AC Milan stay in chase for Europe with Torino draw
Andrea Belotti had put Torino ahead after 21 minutes with his 14th league goal of the season and Marco Benassi adding a second for the hosts five minutes later.
Recommended articles
But Milan's 17-year-old keeper Gianluigi Donnarumma saved Adem Ljajic's penalty to prevent the hosts going 3-0 up after just 32 minutes.
And once the storm had passed Milan responded positively with Andrea Bertolacci scoring on 55 minutes and Carlos Bacca slotting in a penalty five minutes later.
Milan played the final minutes of the game with 10 men after Alessio Romagnoli was sent off on 88 minutes for a second yellow card.
They overtake city rivals Inter Milan, moving fifth with 37 points, eight points behind leader Juventus, ahead of Saturday's clash against third-placed Napoli.
Torino, knocked out of the Italian Cup 2-1 last week by AC Milan, stay eighth equal on 30 points with Fiorentina, six points off the first European qualifying place.
JOIN OUR PULSE COMMUNITY!
Eyewitness? Submit your stories now via social or:
Email: eyewitness@pulse.com.gh