Juve had the chance to move into the Champions League places with a win following fourth-placed Atalanta's draw at Lazio on Saturday, but they didn't managed a single shot on target in a bafflingly uninspired display and stay one point from the top four.
A match of few chances was played on a San Siro pitch which had been played on by Inter the previous day and had been heavily criticised by the champions' coach Simone Inzaghi.
Juventus were content to keep it tight but created very little on the break while Milan continuously ran into a well-drilled defence led by Giorgio Chiellini.
Rafael Leao forced a good early save from Wojciech Szczesny with a low drive, while Davide Calabria flashed two well-hit shots just past the upright from long range.
The hosts' best and last proper chance came midway through the second half when Olivier Giroud, who replaced the injured Zlatan Ibrahimovic, met a cross with a powerful header which was straight at Szczesny.
Lorenzo Insigne joined Diego Maradona on 115 Napoli goals when he smashed home from the penalty spot in the 53rd minute against Salernitana.
The 30-year-old will move to Toronto FC in July after signing a lucrative four-year deal with the Major League Soccer side earlier this month, giving him one last season to emulate Maradona and win a league title with Napoli after spending his whole career at his boyhood club.
During his tumultuous time at Napoli, Maradona led the southern club to their only two championship crowns and the 1989 UEFA Cup.
"We'll miss him because he's been a player and a man who's been important for this club... He wants to finish here positively and we need to give him a proper goodbye," said Dries Mertens.
Mertens' club record-extending 144th Napoli goal came after Federico Bonazzoli had levelled Juan Jesus's 17th-minute opener.
Amir Rrahmani netted the third less than two minutes after the restart from Mertens' cross and Insigne wrapped things up with his fifth league strike of the season.
Tammy Abraham was again on target as Roma won 4-2 at Empoli, the England international's brace the start of a first-half goal blitz which moved Jose Mourinho's team up to sixth, five points off the Champions League places.
Abraham, who also netted in Roma's Italian Cup win over Lecce midweek, lashed home the opener in the 24th minute in Tuscany and then nine minutes later poked home his 10th league goal since arriving from Chelsea, making him the first Englishman to hit double figures in Serie A since David Platt three decades ago.
That strike was followed up by quick-fire goals from recent signing Sergio Oliveira and Nicolo Zaniolo which put Roma four goals to the good with 36 minutes on the clock, a gap that 12th-placed Empoli couldn't bridge.
Daniele Verde earned Spezia a huge victory with the only goal in his team's third straight win, over fellow relegation strugglers Sampdoria, which moved them up to 14th, eight points from 18th-placed Cagliari who missed the chance to climb out of the drop zone after drawing 1-1 with 10-man Fiorentina.