|Grosso is mobbed after scoring a vital winner for Juventus [AFP]
Substitute Fabio Grosso grabbed the winner as Juventus battled to salvage a European Champions League place from the wreckage of their Serie A season with a 2-1 win at Fiorentina.
The Italy full-back fired in from a tight angle in the 68th minute to lift new coach Alberto Zaccheroni's side to fourth.
Brazilian playmaker Diego dribbled past keeper Sebastien Frey and slotted into an empty net to give the visitors the lead in the second minute on Saturday after Antonio Candreva had sprung the offside trap with a smart pass.
Former Juve midfielder Marco Marchionni headed the home side level in the 32nd when Alex Manninger, standing in for injured Italy goalkeeper Gianluigi Buffon, came out to intercept a cross but missed the ball.
Juve have 44 points from 27 games, one more than Palermo who can regain fourth place by beating lowly Livorno in Sicily on Sunday.
Faltering Fiorentina, who entertain Bayern Munich on Tuesday in the Champions League last 16, are 10th.
AC Milan drew 0-0 away to Roma and missed the chance to reduce Inter Milan's lead at the top of the Serie A.
Both sides struggled to create chances.
Milan missed the pace of the injured Alexandre Pato on the right wing, while Roma struggled in attack without Francesco Totti.
"We had our chances to win tonight," Milan's Andrea Pirlo said.
"We should have taken some of them, but even so we had a good game.
"Of course we will be watching Inter tomorrow. We should have won, but now we have to think about Wednesday's game (against Manchester United in the Champions League)."
Juventus are on their third coach in two seasons after sacking Claudio Ranieri last year and appointing Ciro Ferrara, who lasted until January before being shown the door with the team in sixth place.
They finished second in 2008/09 and third the year before.