Local rivals Inter Milan provisionally moved top of the standings with a 4-2 win over Empoli, the pressure was on Stefano Pioli's side and the triumph over ninth-placed Verona moved them two points clear at the top with two rounds left.
"We were not in anyone's predictions (as title contenders). We are bringing home the fruits of our labour, which however is not finished yet," Pioli told reporters.
"Before the game Zlatan (Ibrahimovic) said something beautiful: 'if we want them to remember us, we have three games (to win)'. Now we have two."
Milan dominated the early stages and had several opportunities to score but it was Verona who drew first blood in the 38th minute when an incisive pass found Darko Lazovic, whose cross was headed home by his fellow wingback Davide Faraoni.
But Milan refused to give in and right on the stroke of halftime, Rafael Leao -- fired up after receiving a yellow card -- danced into the box and cut the ball back for 22-year-old Tonali to score from point-blank range.
The pair combined again four minutes after the break on a Milan counter-attack, with the lightning-quick Leao sprinting past the backtracking Verona defence before his low cross was turned into an empty net by Tonali.
Alessandro Florenzi, who came on as a late substitute, sealed all three points when the full-back found space to run into the box and fired a thumping half-volley past the goalkeeper into the bottom corner.
Earlier, bottom side Venezia edged Bologna 4-3 after Dennis Johnsen scored a sensational 93rd-minute winner into the top corner to end a 10-match losing run and give the team a sliver of hope of surviving relegation.
Venezia are five points below 17th placed Salertinana, who were held to a 1-1 draw by Cagliari. Atalanta won 3-1 away at Spezia to move level on 59 points with sixth-placed AS Roma, who have a game in hand.