Leaders Milan looked set to secure first place for at least another round of fixtures when Rafael Leao slotted home his eighth league goal of the season in the 29th minute.
But Destiny Udogie poked home a deserved leveller for Udinese after chaos in the Milan box mid-way through the second half to escape with a draw and move four points away from the relegation zone.
Inter Milan can join their local rivals on 57 points with a win at Genoa later on Friday, as can Napoli ahead of their match at Lazio on Sunday.
Champions Inter, however, have a game in hand on the two contenders to their title.
Milan, who also drew at bottom side Salernitana last week, were underwhelming at a windy San Siro and could hardly complain about the result against a team sat in 14th which has won just once since the turn of the year.
An uneventful first half was livened up only by Leao’s 29th-minute opener, which came after the Portugal international beautifully brought down Sandro Tonali’s clipped pass, held off Rodrigo Becao before rolling in a calm finish.
Udinese were not happy about what they thought was a foul by Leao on Becao and reacted, with Beto heading a decent headed chance straight at Mike Maignan.
After the break the away side came out with the bit between their teeth and Tolgay Arslan was unlucky to not see his low strike slide just past the post on the hour mark.
And Udogie scored the goal which would earn Udinese the draw when he pushed in Roberto Pereyra’s bicycle kick, with his strike given after a VAR check for handball.