The Rossoneri self-destructed away in Udine, going down to the Italy star's winner from the spot as they finished the game with nine men, putting more pressure on the coach
Mathias Ranegie had given the hosts the lead before a stunning Stephan El Shaarawy strike levelled matters, but Zapata saw red and Di Natale converted the spot kick to leave Massimiliano Allegri facing increasing scrutiny.
Allegri made several changes to the side that drew with Anderlecht midweek, with Ignazio Abate, Cristian Zapata and Djamel Mesbah all being included in the starting lineup. Meanwhile, his opposite number, Francesco Guidolin, brought in Mathias Ranegie and kept Giovanni Pasquale in the team despite Roberto Pereya's return.
It seemed Allegri got his changes right as the Rossoneri dominated the game from the first whistle and it took just minutes before they fashioned their first attempt on goal.
Riccardo Montolivo, back in the team following his injury lay-off, squandered the first half-chance of the match before Giampaolo Pazzini saw his second attempt in the space of three minutes saved by Zeljko Brkic.
Moments later it was 19-year-old Stephan El Shaarawy who tested Brkic as the starlet looked to continue his fine scoring record against the Udine outfit, but the keeper was equal to the effort.
Guidolin's side did, however, eventually settle into proceedings and typically it was captain Di Natale who looked their biggest threat up front.
|AC Milan must sack Allegri following Udinese loss|
Despite Milan needing to turn things around, it was Udinese who came closest to scoring as the second half got underway. Brazilian Allan's quick turn and shot being kept out by Abbiati.
Di Natale then wasted another chance for the Fruili while El Shaarawy continued to pose the greatest danger for Allegri's side and it was he, 10 minutes in, who leveled matters.
Following some good play by Kevin Prince Boateng, Pazzini laid the ball off to El Shaarawy who lashed the ball home from well outside the box. It was his his third goal in Serie A and, coincidentally, his third against the Zebrette.
Despite the goal, Milan were unable to gain control of the match as Udinese continued to look the more comfortable of the teams.
Just after the hour mark, drama ensued when Zapata, making a return to his former club, was sent off for a second bookable offence, conceding a penalty in the process. Di Natale made no mistake from the spot, sending Abbiati the wrong way.
The Rossoneri failed to respond with the introduction of Bojan Krkic having little effect on the game.
Matters soon worsened for Allegri and his under-performing side when Boateng, only on as a second half substitute, received his marching orders following a second yellow card.
Down to nine men, Milan were left with a mountain to club and despite their need to at least try and steal a point, it was the home side that looked like extending their lead as Allegri's men struggled with the numerical disadvantage.
But Udinese were able to comfortably see out the match, and for Milan, their crisis continues and Allegri's position at the club will now be seriously called into question.