The promising youngster spared the champions' blushes after the Udinese captain had put the visitors ahead.
Just 21 minutes into the match Alexandre Pato was withdrawn with a hamstring injury, being replaced by new signing El Shaarawy.
In the 29th minute, the away side got its goal through star man Di Natale. Gabriel Torje curled in a cross from the left wing and a mistake from Abbiati left the Bianconeri captain with a simple finish to take the lead for the visitors.
Just before halftime the home side came close to levelling the tie, with a well struck free kick from Clarence Seedorf crashing against the post, after Cassano had been brought down on the edge of the box.
In the 63rd minute, the home side was level through a great finish from El Shaarawy, the youngster received the ball on the right side of the box after a neat ball from Cassano and made no mistake in guiding his low finish into the far corner.
In the last 15 minutes the visitors looked the more likely to win the game with substitute Giampiero Pinzi striking the post with a low drive, before Abbiati pulled of a great save to deny Di Natale in the closing minutes.
Milan is still without a win after three games will be looking for an improved result away at Cagliari, while Udinese, who has started the season well, will be hoping to continue its run at home to Cesena in the next round of Serie A.