Ousmane Dembele put Barcelona into the last four of the Copa del Rey with a tough win over 10-man Real Sociedad.
Dembele slammed into a stalemate at Camp Nou in the 52nd minute with a strong close post effort.
Brais Mendez saw red for Sociedad at the end of the first half after a VAR check as he caught Sergio Busquets above the ankle.
In form, Dembele made a breakthrough at halftime and walked off the field with a standing ovation after a dazzling show for LaLiga leaders, 12 months after he was told he could leave the club in the transfer window last January.
Osasuna was involved in another dramatic cup match but advanced to the last four with a 2-1 win against Sevilla after extra time.
Another Andalusian club, which needed a stop-goal and penalties to beat Real Betis in the final round, was defeated by Chimy Avila and Abdessamad Ezzalzouli, this time in the goal of the hosts Osasuna.
Youssef En-Nesyri took a hit at El Sadar in the 94th minute to force overtime, but after Ezzalzouli’s gorgeous twisty finish, Sevilla came out anyway.
Borussia Dortmund took a 2-1 win in Mainz in the last breath after Giovanni Reyna scored in extra time to boost their faltering championship hopes.
Edin Terzic’s team looked poised to drop more points in their second game after returning from testicular cancer, before substitute Sebastien Haller arranged for Reyna to shoot home at close range.
Jae-Sung Lee put Mainz ahead two minutes later, but new signing Julian Ryerson leveled up by four minutes before the dramatic final took Dortmund to fifth place and five points ahead of Bayern Munich.
Surprise package Union Berlin is in second place after beating Werder Bremen 2-1.
Bremen lost 7-1 in Cologne last weekend but took the lead with Amos Pieper in the 13th minute.
Janik Haberer was able to visit Berlin four minutes later and Kevin Behrens’ effort early in the second half earned them all three points.
Freiburg and Eintracht Frankfurt had their share of the loot, but both lost a spot at the table after drawing 1-1.
Randal Kolo Muani put Frankfurt up three minutes before halftime and Matthias Ginter leveled up in the 47th minute, dropping the duo to sixth and fourth place, respectively.
Augsburg came out of the last three with an impressive 1-0 win over Borussia Mönchengladbach to further dampen visitors’ European qualifier hopes.
Mergim Berisha was victorious eight minutes later, proving himself to be Augsburg’s hero.
Bochum dropped to 16th place after losing 2-0 to Bayern Leverkusen.
Edmond Tapsoba took the lead in the eighth minute from the penalty for Leverkusen, while Adam Hlozek finished the score in the 53rd minute.