An absorbing heavyweight matchup saw the substitute save a point late on for the visiting side, which stays a point behind in the standings but still holds a game in hand.
A calamitous piece of defending by Leonardo Bonucci gifted Antonio Nocerino an opener in a first half dominated by the home side, which also saw a Sulley Muntari goal questionably not called.
However, Juventus belatedly came alive in the second half, and an equalizer by substitute Matri seven minutes from the end of regulation salvaged a draw, as Artuo Vidal was also sent off on the stroke of injury time for a reckless challenge.
Both sides were clearly not shying away from the occasion in the initial exchanges, with an open game in midfield developing thanks to some sloppy passing by Juventus.
The visiting side was soon made to pay for its carelessness on the ball, after a horror sequence from Bonucci a quarter of an hour in.
Under no pressure, the defender passed the ball straight to the opposition, allowing Nocerino time to stride forward and fire an effort from distance which deflected back off Bonucci, wrong footed Gianluigi Buffon and nestled into the back of the net.
Massimiliano Allegri’s men were in the ascendancy, and should have been 2-0 up after 25 minutes, but for a controversial incident which saw a legitimate goal not given.
Buffon initially did well to parry a header by Philipe Mexes from a corner, but hooked out Sulley Muntari’s rebound with the ball clearly over the line, sparking Milan celebrations.
However, referee Paolo Tagliavento did not signal, and play continued as Juventus immediately stormed down the pitch on the counterattack, with only the fingertips of Christian Abbiati denying Marcelo Estigarribia from range at the end of the move.
Milan was instantly back on the offensive though, as Robinho was put through on goal, but Buffon was quick off his line to thwart the Brazilian expertly from a one-on-one.
The home side was dictating the flow of the game, with Juventus struggling to shift the pressure away from its goal. Artuo Vidal and Mark Van Bommel both flashed efforts wide from outside the box as the half ended with Antonio Conte’s men on the ropes.
Milan continued to find space in and around the visitors’ back line coming out of the break, but lacked the cutting edge of the first half as Buffon remained relatively untroubled.
With the Milan offense seeming somewhat blunted, Juventus slowly grew into the game, and increasingly looked to get shots in on goal as the match crossed the hour mark.
With 68 minutes gone, Andrea Pirlo fed the overlapping Giorgio Chiellini on the left, who in turn teed up Fabio Quagliarella for a shot that was saved superbly by the arms of Abbiati.
Juve thought it had equalized with 10 minutes to go, but Alessandro Matri’s goal was chalked off for an offside on Mirko Vucinic, despite the Montenegrin appearing to be uninvolved in the passage of play.
Matri would get his leveler three minutes later though, after a mistake by Thiago Silva saw Juventus maintain possession and spread the ball wide to Pepe, who crossed for the substitute to volley home.
Conte’s men poured forward for a winner, but their endeavor was halted in the 89th minute after a dangerous challenge by Vidal on Van Bommel saw the Chilean receive a straight red card.
The home side was unable to take advantage of the numerical superiority in the little time that remained, and both teams were forced to settle for a point after a captivating contest.
The result sees Milan move onto 51 points, and maintain its one point lead over Juventus. However, the Turin outfit has the advantage in the title race as it still holds a game in hand.
For all the latest action, check out the Fox Soccer Plus FREE Trial