Palermo kept alive their hopes of beating the drop after they beat fellow strugglers Frosinone 2-0 in a relegation six-pointer at Stadio Matusa on Sunday afternoon.
Second-half goals from Alberto Gilardino (56') and Aleksandar Trajkovski (90) handed the Rosanero their first league win since January as they leap-frogged the 19th-placed Canarini to move level on 32 points with Carpi, who are perched on the edge of the relegation zone.
Elsewhere, Lazio suffered a second successive defeat in the top flight as they squandered an early lead to lose 2-1 to Sampdoria at the Marassi.
The visitors got off to a flying start when Filip Djordjevic fired them in front just three minutes into the match, but Fernando pulled the hosts back on level terms 17 minutes later.
The Biancocelesti had a chance to reclaim the lead at the break when the referee pointed to the spot, but Antonio Candreva's penalty was saved by Emiliano Viviano, and Mobido Diakite made them pay on 78 minutes with the winner for Samp, who moved eight points clear of the bottom-three in 14th spot, while Lazio remain eighth.
Meanwhile, Bologna arrested a nine-match winless run as they beat Genoa 2-0 at Stadio Renato Dall'Ara.
Emanuele Giaccherini gave the hosts the lead after just 11 minutes and Sergio Floccari secured the victory on 63 minutes to take the 15th-placed Rossoblu eight points clear of the relegation zone.
Gian Piero Gasperini's side suffered their second defeat in three games, although they stay in the top-half of the table by one point in 10th spot.
Sassuolo got their European challenge back on track with a 3-1 win over Torino at Stadio Olimpico Grande Torino.
The visitors took the lead through Nicola Sansone as early as the third minute, but Toro were back in the game soon afterwards courtesy of Bruno Peres' eighth-minute equaliser.
However, Federico Peluso would fire the Neroverdi back in front 15 minutes from time and Marcello Trotta wrapped up victory in stoppage time to take Eusebio Di Francesco's men within seven points of the final Europa League spot.
Marco Borriello scored the only goal of the game as 10-man Atalanta held on for 1-0 win over Chievo at Stadio Atleti Azzurri d'Italia.
Borriello fired home on the rebound 10 minutes into the second half after Alessandro Diamanti's initial shot had come back off the crossbar, and despite losing Alejandro Gomez to a straight red car on 75 minutes, La Dea hung on to claim all three points, which lift them to 13th position, while the Gialloblu are unmoved in ninth.
Frosinone 0-2 Palermo
Atalanta 1-0 Chievo
Bologna 2-0 Genoa
Sampdoria 2-1 Lazio
Torino 1-3 Sassuolo