The Swede set a new benchmark at 41 years and 166 days, beating the previous record by Alessandro Costacurta at 41 years and 25 days.
Advertisement
Ibrahimovic was made to wait in a chaotic first-half seeing his initial penalty in stoppage time saved Marco Silvestri, but he was allowed a shot at redemption.
Encroachment from Udinese striker Beto meant a retake was requested, with Ibrahimovic making no mistake as he blasted the second attempt into the roof of the net.
Advertisement
The striker had already broken the record as Serie A's oldest-ever player by taking to the field, which he did with the captain's armband.
It was one of a number of big moments in a crazy first half, with former Watford man Roberto Pereyra opening the scoring, before Beto atoned for his encroachment by making it 2-1 just before the half-time whistle blew.
Udinese continued to capitalise, with Kingsley Ehizibue making it a 3-1 final score in the second half.
Ibrahimovic had been out of action with a knee injury since May 2022, but returned to the Milan bench in February, before three substitute appearances, and then the start against Udinese.
Advertisement
Advertisement
Curiously, the previous oldest scorer, Costacurta, also set his record while playing for Milan against Udinese, and even did it from the spot too.
Ibrahimovic will be hoping that it's far from his last act for Milan, with a Champions League quarter-final tie against Napoli still to come.
Advertisement
Milan are 20 points off leaders Napoli in the Serie A title race, but Ibrahimovic will be dreaming of completing his legendary career by finally winning the European Cup.