Serie A Wrap: Top two held, Guarin inspires Inter
Juve missed the chance to go nine points clear at the summit as Franco Brienza's second-half equaliser rescued a 2-2 draw for Cesena.
The reigning champions looked set to take all three points when Arturo Vidal stepped up to take an 82nd-minute penalty, but the Chile star missed the target, leaving Juve to rue not capitalising on Roma's 0-0 draw with Parma earlier in the day.
Cesena's battling display gave little indication of their precarious position in the relegation zone, with Milan Djuric giving the hosts a deserved lead 17 minutes in, before Alvaro Morata levelled soon after.
Claudio Marchisio put the visitors ahead in the 33rd minute, but Cesena rallied after the break and enjoyed significant periods of control before Brienza struck the leveller with 20 minutes left, securing a draw as Vidal went on to miss his late spot-kick.
Fredy Guarin hit two stunning strikes and set up the other two as Inter hammered 10-man Atalanta 4-1 to climb back into the top half of the table.
The Colombian was straight in the action as he was fouled for Xherdan Shaqiri's second-minute penalty, before Maximiliano Moralez restored parity with just under half an hour played.
But Guarin then intervened with his first goal before the break, curling superbly into the bottom corner.
Yohan Benalouane’s red card just after half-time did not help Atalanta's chances and Guarin then hit home an even better strike shortly after, with Rodrigo Palacio rounding off the win 18 minutes from time.
Empoli came from behind to claim a deserved 1-1 draw at 10-man Milan after Mattia Destro had given the hosts the lead with his first goal for the club.
The striker hooked home from a Giacomo Bonaventura cross in the 40th minute to hand Milan the advantage against the run of play, but Massimo Maccarone clinched a draw in the second half, with Diego Lopez receiving a red card towards the end for handling outside his area.
Genoa recorded arguably the win of the day, thumping Verona 5-2 at home to move up to sixth place, just behind Lazio, who themselves beat Udinese 1-0.
Chievo moved four points clear of the bottom three with a 2-1 victory over UEFA Europa League hopefuls Sampdoria, while Torino were held to a 1-1 draw by struggling Cagliari.