Borussia Dortmund suffered a shock 3-2 defeat at Hertha Berlin to slip nine points behind Bundesliga leaders Bayern Munich in the run-up to the winter break.
Julian Brandt gave the visitors a 31st minute lead at the Olympiastadion, but Ishak Belfodil equalized early in the second half.
Dortmund, who missed England midfielder Jude Bellingham due to suspension, were then stunned when Marco Richter struck twice.
Although Steffen Tigges took the lead with seven minutes left, there was no final in the stands as Tayfun Korkut’s side held on to climb to 11th place.
Jesper Lindstrom’s goal in the first half was enough to give Eintracht Frankfurt a 1-0 victory over their derby rivals Mainz.
Wrestlers Arminia Bielefeld earned a second consecutive league victory after a 2-0 victory at RB Leipzig despite the expulsion of a man.
Janni-Luca Serra’s first Bundesliga goal put the visitors ahead in the 57th minute, but substitute Fabian Klos was later given a red card for a late challenge given after a VAR exam.
Japanese midfielder Masaya Okugawa, however, got all three points with 15 minutes remaining.
Under-team Greuther Furth fought for a goalless home draw against Augsburg, while Max Kruse’s strike in the first half saw Union Berlin win 1-0 at Bochum.
Hoffenheim missed the opportunity to go third after needing an equalizer in stoppage time from defender Kevin Akpoguma to snatch a 1-1 draw at home against Borussia Mönchengladbach, who took the lead thanks to Breel Embolo.
Barcelona ended a three-game winless streak as a late goal from Nico Gonzalez secured a 3-2 win over Elche in their La Liga game at Camp Nou.
Ferran Jutgla scored his first goal for Barca in the 16th minute, Gavi quickly adding a second.
Elche struck twice in as many minutes after the hour thanks to the diving header from Tete Morente and Pere Milla Pena.
Substitute Gonzalez, however, slammed into the ball with just five minutes left as Xavi’s men moved up to seventh.
Late in Saturday’s game, Lucas Ocampos scored a game-winning goal in the last minute as Sevilla beat Atletico Madrid 2-1 to come within five points of leaders Real Madrid.
Ivan Rakitic gave the hosts an early lead before Felipe’s header reached Atletico level at half-time, only for Ocampos to sort things out.
Earlier, Gerard Moreno scored twice as Villarreal won 3-1 against 10 Real Sociedad players, while Rayo Vallecano beat wrestlers Alaves 2-0 to place fourth.
In Serie A, England striker Tammy Abraham scored twice as Roma won 4-1 at Atalanta.
Abraham’s deflected shot gave Roma the lead in the first minute, with Nicolo Zaniolo adding a second before half-time.
Atalanta saw Duvan Zapata’s header ruled out by VAR for offside and Chris Smalling hit Roma’s third with a free kick 18 minutes to go before Abraham caught a second late.
Juventus are in sixth place, tied on points with Roma, after a 2-0 victory in the fog of Bologna.
Alvaro Morata gave the visitors a quick lead and a deflected long-distance effort from Juan Cuadrado secured the three points with 20 minutes remaining.
Saturday’s late game saw the Cagliari wrestlers beaten 4-0 by Udinese at the Sardegna Arena, where they finished with 10 men.
Gerard Deulofeu scored on either side of the half, the first from a stunning free-kick as Cagliari midfielder Razvan Marin was sent off just after the hour mark for a second warning.
Ligue 2 Nancy saw three players sent off, but still reserved her place in the round of 16 of the Coupe de France with a victory on penalties against Troyes.
The last second division club saw Maxime Nonnenmacher, Saliou Ciss and Souleymane Karamoko all sacked.
Brandon Domingues had given Troyes the lead shortly before half-time, with Andrew Jung equalizing in the 64th minute, but the tie was eventually settled on penalties as Nancy won 4-2.
In Saturday’s only Ligue 1 game, Rennes beat Lorient 1-0 thanks to a first-half goal from defender Warmed Omari.
Ligue champions Lille beat Auxerre 3-1 in the second division and Nantes eventually beat Sochaux 5-4 on penalties after going goalless full time.
Clermont put an end to the hopes of seventh division Nimes Chemin Bas with a 4-0 victory in another match marred by crowd problems.