
Udinese ended the season with a home defeat to Conference League-chasing Fiorentina, having valiantly fought back from 2-1 down with ten men only to see the visitors snatch a somewhat fortuitous late winner.
Kosta Runjaic's side took the lead through Lorenzo Lucca – his 12th of the campaign – when the Italian finished clinically into the bottom corner in the 26th minute.
The match turned near the end of the half when Jaka Bijol was shown a second yellow card, leaving Udinese a man light for the remainder of the game.
Nicolo Fagioli levelled the scores soon after the restart, firing home from the edge of the box at the second attempt, then Pietro Comuzzo gave the visitors the lead with a clever backheel.
However, despite the man disadvantage, Udinese pushed hard to get back in the game and after Jurgen Ekkelenkamp sent a header just wide Christian Kabasele stabbed home the equaliser in a crowded box.
Needing a goal to keep their European hopes alive, Fiorentina upped the intensity and fashioned a series of chances, with Maduka Okoye making a number of saves.
With ten minutes remaining the Viola got a bit of luck as Moise Kean's shot took a deflection and was diverted past the keeper.
17-year-old defender Matteo Palma came on for his Serie A debut late on as it ended 3-2 to Fiorentina.
The result means Udinese finish the season in 12th place with 44 points.
Udinese 2-3 Fiorentina (1-0)
Scorers: Lucca 26, Fagioli 47, Comuzzo 57, Kabasele 61, Kean 82.
Udinese (3-5-2): Okoye; Kabasele, Bijol (cap.), Solet; Ehizibue (Palma 86), Atta (Bravo 77), Karlstrom, Ekkelenkamp, Zemura; Lucca (Davis 77), Sanchez (Zarraga 52).
Subs not used: Sava, Padelli, Pafundi, Giannetti, Pizarro.
Coach: Runjaic.
Fiorentina (3-5-2): De Gea; Comuzzo (Pongracic 79), Marì, Ranieri (cap.); Dodo, Mandragora, Richardson (Gudmundsson 70), Fagioli, Gosens; Beltran (Ndour 79), Kean.
Subs not used: Terracciano, Martinelli, Moreno, Colpani, Adli, Cataldi, Parisi.
Coach: Palladino.
Referee: Marcenaro.
Assistants: Tolfo, Politi.
Fourth official: Giua.
VAR: Abisso.
AVAR: Mazzoleni.
Booked: Bijol 9, Beltran 49, Richardson 59, Karlstrom 88.
Sent off: Bijol 39 (second bookable offence).
Added time: 2+4 minutes.
Match tickets: 6,429 (€90,622).
Season tickets: 14,034 (€141,620).
Total attendance: 20,463 (€232,242).