The Rossoneri ended a frustrating campaign with victory at the San Siro, with Lea’s late strike enough to seal the three points.
Milan have already secured Champions League football for next season but struggled at times for the visitors, who canceled out Olivier Giroud’s first-half penalty with Marco Faraoni’s 72nd-minute strike.
Yet Leao struck in the 85th minute and again seven minutes later to leave Verona facing a relegation decision with Spezia, who succumbed to a late 2-1 defeat in Rome.
Despite the seriousness of the situation, Verona struggled to create even the slightest threat in what ended a lackluster season for Milan, who had already secured a top-four finish.
The home side rarely had to shift out of first gear to neutralize their visitors and struck first before half-time.
VAR awarded a penalty for Cyril Ngonge’s foul on Brahim Diaz, with Giroud ruthlessly dispatching from 12 yards.
Verona dragged themselves back into it with just over a quarter of an hour to play when Darko Lazovic headed home for the Faraoni.
Any hopes of a reprieve thanks to the relegation play-offs looked dashed when Leao drove home a low 20-yard strike to regain Milan’s lead and drop Verona back to 18th.
Leao added a second in injury time with a close-range finish but Verona were knocked out of the play-offs as Paul Dybala’s penalty robbed Roma of a dramatic late victory over Spezia.