Madrid lost 4-3 to Real Sociedad at home before Barcelona conceded a late goal to lose 1-0 at Athletic Bilbao on the most surprising night of a competition filled with upsets.
Defending champion Valencia also lost on Tuesday and Villarreal was eliminated on Wednesday. Sevilla and Atlético Madrid had already been ousted in previous rounds.
Only the semifinals are being played over two legs this season, giving smaller clubs greater chances of knocking out bigger teams.
The surprising last four will also include Granada and second-division club Mirandés. It’s the first time in a decade that neither Madrid nor Barcelona made it to the last four in the Copa. At least one of the Spanish powerhouses had reached the final every year since the 2009-10 season, when Sevilla won the title. Barcelona made the final the last six years in a row.
“This is the new Copa,” Barcelona midfielder Sergio Busquets said. “We are playing one match, away from home, and in one play you are eliminated.”
Real Sociedad ended Madrid’s 21-game unbeaten run with its win at the Santiago Bernabéu to reach the semifinals for the first time in six years.
Athletic got past Barcelona thanks to Iñaki Williams’ winner three minutes into second-half stoppage time, adding to the club’s struggles since it fired coach Ernesto Valverde and replaced him with Quique Setién.
Barcelona is yet to impress under the new coach, and players and club directors have been at odds recently.
“I think we took a step forward. We played better than our opponent,” Setién said. “Everything went well except for the result.”
Barcelona dominated throughout the second half and came close to breaking the deadlock with clear chances for Antoine Griezmann and Lionel Messi near the end. But it was Athletic that found the late winner when Williams flicked a header into the far corner after a cross by Ibai Gómez.
Athletic, the second-most successful club in the Copa with 23 titles, behind Barcelona, had needed penalty shootouts to advance against second-division clubs in the two previous rounds.
Messi made his 75th Copa appearance, equaling the Barcelona record held by Josep Samitier since 1932.
Real Sociedad’s victory halted Madrid’s eight-game winning streak and handed the club its first loss in all competitions since October.
It also ended Madrid’s hopes of winning the cup competition for the first time since 2014.
Real Sociedad, a semifinalist in 2014, will be looking to win its third Copa del Rey trophy — and first since 1987.
“Our fans deserved a prize like this,” Real Sociedad coach Imano Alguacil said. ”This victory means a lot, coming at a packed Bernabéu, against a team like Real Madrid, with our team playing well. You can imagine how we are feeling right now.”
The visitors looked in control for most of the match but Madrid came close to pulling off the comeback after scoring late goals in the second half.
“We gave everything we had in the end, but it was too late,” Madrid defender Marcelo said. “It’s hard to come back after conceding four goals at home. It’s disappointing, but we still have other competitions ahead of us.”
Madrid had been dominant thanks in part to a stout defense, having conceded only 13 goals in 22 Spanish league matches.
Young Norwegian playmaker Martin Odegaard, playing for Real Sociedad on a loan from Madrid, didn’t celebrate after opening the scoring in the 22nd minute off the rebound of a save by Madrid goalkeeper Alphonse Areola.
Young Swedish striker Alexander Isak added to the lead with goals two minutes apart early in the second half — a volley in the 54th and a shot into the top corner in the 56th.
The 20-year-old Isak — who has scored in five consecutive matches — had already had a goal disallowed for offside after video review just minutes after the break.
Marcelo pulled Madrid closer with a low shot from inside the area in the 59th, but Mikel Merino increased the visitors’ lead again from close range in the 69th.
Rodrygo netted Madrid’s second in the 81st, two minutes after Vinícius Júnior had a goal disallowed by video review. The third came through a header by Nacho Ramos three minutes into stoppage time.
Real Sociedad defender Andoni Gorosabel was sent off just before the final whistle.