Vidal penalty helps Juventus close in on title
Juve need four points from the final five games after closest rivals Napoli, 11 points behind, saw off Cagliari 3-2 in dramatic fashion at the Stadio San Paolo.
A disappointing Milan side now have to think seriously about a resurgent Fiorentina, who beat Torino 4-3, and now sit just one point behind them in fourth.
The result left Fiorentina five points ahead of Inter Milan, who got back to winning ways with a 1-0 defeat of Parma, veteran striker Tommaso Rocchi's 82nd-minute strike lifting some of the pressure on coach Andrea Stramaccioni.
A cagey, goalless first half in Turin saw only one real opportunity when Milan keeper Christian Abbiati was at full stretch to deny an Andrea Pirlo free-kick which deflected off the wall.
Abbiati picked up an injury after his acrobatics and was replaced by Marco Amelia.
The home side went ahead in the 58th minute when Kwadwo Asamoah was clumsily upended by Amelia. Vidal stepped up and struck an excellent penalty into the right-hand corner.
With Milan struggling to find any fluidity and looking toothless in attack, Juve began to take control of the game, dealing comfortably with the visitors who were clearly missing the spark of the suspended Mario Balotelli.
Juve coach Antonio Conte was delighted with the victory but played down any title talk.
"Milan are Milan, they always play to win," he told reporters. "It wasn't easy for us, if we lost to them, Napoli would have been closer and some pressure would have built up.
"I wouldn't say today was a decisive step but was a great step forward. To find ourselves 18 points ahead of Milan is a rare thing indeed. Was it a penalty? Without any doubt."
Milan have now gone three games without a win but coach Massmiliano Allegri believes they can still enjoy a strong finish to the season.
"We conceded very little to Juventus, but then we created very little ourselves," Allegri said.
"There are 18 points between us and Juventus. There's really not a lot you can say when you're up against a side like them, who could reach 90 points this season.
"This team still needs to grow, but in the meantime we need to think only about finishing third, it will still be a great achievement."
Earlier, Naples-born Lorenzo Insigne scored deep into stoppage time to complete a 3-2 win for Napoli over Cagliari.
Insigne, the 21-year-old striker, fired in from just outside the area in the fourth minute of stoppage time to cement Napoli's claims on an automatic qualification place for next season's Champions League.
Cagliari took the lead against the run of play when Napoli failed to clear a corner, allowing Victor Ibarbo to let fly from distance and beat Antonio Rosati, deputising for the suspended Morgan De Sanctis.
The home side drew level three minutes after the break through a Davide Astori own goal, but in controversial circumstances.
Cavani was adjudged to have not been interfering with play, though the Uruguayan was in an offside position in th