Zlatan Ibrahimovic became the oldest goalscorer in the history of Serie A on Saturday but couldn't stop AC Milan from falling to a 3-1 defeat at Udinese.

Ibrahimovic, 41, was in Milan's starting line-up for the first time since January last year and smashed home a penalty at the second attempt in first-half stoppage time to make the score 1-1 following Roberto Pereyra's ninth-minute opener.

But it wasn't enough to stop fourth-placed Milan from losing their fourth match away from home in their last five and miss the chance to move provisionally second in Italy's top flight.

Stefano Pioli's team stay fourth, two points behind local rivals Inter Milan in second in the race for the Champions League.

They will drop out of the top four if Roma win the Rome derby with Lazio on Sunday evening while Inter face fierce rivals Juventus hoping to steal a march on their rivals for Europe's top club competition.

"When a team plays like this it means the coach hasn't done his job. We played way below our standard," Pioli told Sky.

"We not in a good position in the league and getting into the top four is so important for us... We've not done enough over the last few weeks."

Wearing the captain's armband Ibrahimovic missed his first spot-kick but was given a second chance when Beto was penalised for encroachment, and thumped his shot down the middle of the goal.

At 41 years and 166 days old Ibrahimovic overtook former AC Milan defender Alessandro Costacurta -- who also netted against Udinese in 2007 aged 41 -- as the oldest scorer in Italy's top flight.

He had previously made three substitute appearances this season after being sidelined since May last year, following reconstructive surgery on the anterior cruciate ligament in his left knee.

Udinese coach Andrea Sottil was sent off for his protests at the decision to award the penalty for a Jaka Bijol handball and then allow Ibrahimovic to retake following Marco Silvestri's brilliant save.

But Sottil's side were ahead at the break as Beto made up for his earlier error by finishing off Isaac Success' low cross on the stroke of half-time.

And Kingsley Ehizibue made sure of Udinese's second win in as many league matches, just their third since early October, stealing in at the back post to poke in Destiny Udogie's mishit shot.

Udinese's first home win since mid-September moves them up to eighth, level on 38 points with Juve and a point ahead of Bologna who drew 2-2 at Salernitana earlier on Saturday.

"It's a great win, we were in a difficult period but we worked hard and we deserved this win," said Pereyra to Sky.

"We're going in the right direction and we need to keep going, we know what our qualities are.

"We've got 11 matches left and we'll give it a go with everyone."

Monza drew 1-1 with struggling Cremonese in the day's first match.