Weah - on target in his last four matches - laid on the cross from which Dejan Savicevic put Milan ahead in the 46th minute. Five minutes later, the Liberian brushed aside two challenges before laying on a simple tap- in for Marco Simone.
Simone scored his second from the penalty spot in the 58th minute after a foul on the irrepressible Weah, and Paolo Di Canio's solo goal completed the rout in the 87th minute.
The result took Milan to 53 points from 24 matches - eight ahead of second- placed Fiorentina, who have played one game less. Parma, third on 43, needed a last-minute penalty save from Luca Bucci to avoid a rare home defeat in their 1-1 draw with Roma.
The match was marred by a fight between Parma's Massimo Crippa and Roma's Daniel Fonseca. Both were sent off.
Earlier, the Uruguayan had given the visitors a third-minute lead, only for Argentine Nestor Sensini to level in the 45th.
In Germany, Bayern Munich returned to the top of the Bundesliga thanks to a four-goal burst in the first 30 minutes of their local derby with 1860 Munich. Two goals apiece from Jurgen Klinsmann and Alexander Zickler enabled the 13 times champions to win 4-2. Borussia Dortmund scrambled a 2-2 draw at Borussia Monchengladbach and dropped to second.
Bayern's win, the perfect preparation for Tuesday's Uefa Cup quarter- final home leg against Nottingham Forest, gave them 44 points from 21 matches.
The Real Madrid coach, Arsenio Iglesias, is making the European Cup tie against Juventus this week his priority, but knows his side desperately need three points from today's home game against lowly Salamanca to stand any chance of securing a place in next season's Uefa Cup.
At present, Real stand in sixth place, six points off a Uefa Cup place. But, with their defenders Manolo Sanchis and Fernando Hierro having been carried and sent off respectively in last week's 3-3 draw at Compostela, the reigning champions have significant problems in the heart of their defence. Iglesias may well need to call upon their reserve player Fernando Sanz, son of the club chairman, Lorenzo Sanz, to fill the gap at the back.
Iglesias, who replaced Jorge Valdano earlier this season, could find himself out of a job next term after Sanz reacted favourably to the Milan coach Fabio Capello's declared interest in taking over at Real. "I really like Capello. If it were up to me I would sign him," Sanz is reported to have said in a Spanish newspaper. However, he also warned that Real's budget for signings would be restricted if they fail to qualify for Europe.Reuse content