Juventus, who with Sampdoria would have had to lose to hand the title to Milan, closed the gap on the champions to six points with a 1-0 home win over Internazionale. Sampdoria managed only a scoreless draw at Cremonese and dropped to third.
Daniele Massaro gave Milan the lead in the 72nd minute with his 11th goal of the season - a sharp volley from a Roberto Donadoni free-kick.
But with five minutes remaining Donadoni bundled over Nestor Sensini in his own penalty area. Zola made no mistake with the spot-kick for his 17th goal of the season.
Bayern Munich strode towards a record 13th Bundesliga title on Saturday, beating Cologne 1-0 at home while their nearest challengers, Eintracht Frankfurt, lost by the same score at lowly Leipzig. It was left to the Colombian striker, Adolfo Valencia, to produce Bayern's one moment of brilliance - picking up a 30-yard through pass from Christian Ziege in the 67th minute, running the length of the Cologne half and keeping his cool to beat Bodo Illgner, from 14 yards.
Krasimir Balakov, Sporting Lisbon's Bulgarian striker, hit five goals in a 6-0 win against Second Division Lourosa to set up a final meeting with Porto in the Portuguese Cup. Porto won 2-1 at Estrela da Amadora in the other semi-final.Reuse content