Ousmane Dembele scored the only goal as Barcelona beat in-form Real Sociedad to book their place in the Copa del Rey semi-finals.
The visitors, who had won their previous nine games, had Brais Mendez sent off in the first half for a dangerous tackle on Sergio Busquets.
Dembele settled the tie when he ran onto Jules Kounde's ball down the right wing before hammering in from an angle.
Gavi almost put the game beyond doubt but hit the bar.
Osasuna also made it to the last four of the competition after beating Sevilla 2-1 in extra time.
Ezequiel Avila looked to have won it in normal time for the hosts only for Youssef En-Nesyri to level in the 94th minute.
On-loan Barcelona winger Abde Ezzalzouli scored in the first half of extra time to send Osasuna through.