Milan took the lead on 18 minutes when Stephan El Shaarawy controlled Zaccardo's cross before finishing with aplomb.
Honda came closest to extending the lead shortly before the break, but his free kick was held by Torino keeper Daniele Padelli.
However, indiscipline struck once again for Milan, who had two men sent off against Sassuolo last week, and Zaccardo was given his marching orders for cynically bringing down Martinez, who was clean through on goal.
Milan's numerical disadvantage was evened up when Molinaro was dismissed for bringing down Marco van Ginkel inside the area.
Giampaolo Pazzini took the resulting spot kick to extend the home side's lead before El Shaarawy grabbed his second of the evening after the hour mark.
The Italian international played a one-two with on-loan Chelsea midfielder Van Ginkel before calmly slotting past Padelli on 65 minutes.