Felipe Caicedo fired a dramatic injury-time winner as Lazio clung onto third place in Serie A with a 2-1 win at Sassuolo.
Caicedo's late effort after a neat exchange with Luis Alberto ensured his side stretched their winning streak to five games at Mapei Stadium.
Ciro Immobile had struck Lazio into the lead with a deflected effort just past the half hour mark, but Ciccio Caputo equalised from close range on the stroke of half-time.
Roma remain in hot pursuit of their city rivals after cruising past Brescia 3-0 to hand the bottom club their fifth straight loss.
Chris Smalling starred for the home side, heading home a Lorenzo Pellegrini corner to break the deadlock in the 49th minute, and setting up the second for Gianluca Mancini before Edin Dzeko completed the scoring after 66 minutes.
Sampdoria continued to claw their way towards safety as they beat Udinese 2-1 to stretch their unbeaten run to four games.
Ilija Nestorovski fired the home side in front with 29 minutes gone after having an earlier effort disallowed, but Manolo Gabbiadini equalised in first-half injury time.
Udinese had Mateo Jajalo sent off for a second yellow card early in the second half and the visitors were made to pay when Gaston Ramirez hit the winner from the penalty spot in the 75th minute.
Blerim Dzemaili crashed home a volley deep into injury time to end Bologna's run of three straight defeats with a 2-2 draw against Parma, while Samuel Di Carmine scored the only goal in Verona's 1-0 win over Fiorentina.
The match between Lecce and Cagliari was postponed due to torrential rain and re-scheduled for Monday.
Ever Banega took advantage of a re-taken penalty to earn Sevilla a 1-0 win at Real Valladolid and third place in the Spanish LaLiga table.
Banega's initial effort had been saved by home keeper Jordi Masip but he made no mistake when it was ordered to be retaken, and Sevilla sealed the points despite an injury-time red card for Lucas Ocampos.
Kenan Kodro hit a 79th-minute winner as Athletic Bilbao moved up to fifth place with a 2-1 win at Osasuna.
Kodro's strike came just three minutes after Ezequiel Avila had equalised for the home side following Inaki Williams' 21st-minute opener.
Wu Lei equalised in the 45th minute as struggling Espanyol earned a 1-1 draw at home to Getafe, while two late goals from Iago Aspas sealed a 3-1 win for Celta Vigo at Villarreal, who are now without a win in four.
Two goals in the last five minutes from Joselu were enough to give Alaves a 2-0 win at Eibar.
In the German Bundesliga Hoffenheim missed the chance to move into fourth place as they were thrashed 5-1 at home by 10-man Mainz.
Levin Oztunali put Mainz in front after 33 minutes but Ridle Baku was sent off for a dangerous challenge on the stroke of half-time.
Despite the setback Mainz doubled their lead through Pavel Kaderabek and Pierre Kunde made it 3-0 just past the hour mark.
Andrej Kramaric pulled one back for Hoffenheim but a late strike from Jean-Paul Boetius then a second from Kunde wrapped up a memorable win for the visitors.
Hertha Berlin had goalkeeper Rune Jarstein sent off on the half hour mark as they crashed to their fourth straight defeat, 4-0 at Augsburg.
In French Ligue 1, second-half goals from Dario Benedetto and Nemanja Radonjic gave Marseille a 2-0 win at struggling Toulouse, who had defender Steven Moreira sent off just before half-time.
Nicolas de Preville converted a 69th-minute penalty to give Bordeaux a 2-1 win over 10-man Monaco, who had Islam Slimani sent off, while St Etienne and Montpellier shared a goalless draw.