Antoine Griezmann scored one and set up another but could not prevent Atletico Madrid tumbling out of the Copa del Rey on Wednesday as Girona progressed on away goals after a thrilling 3-3 draw.
Real Madrid and Sevilla each avoided upsets, their first-leg victories proving enough despite losses to Leganes and Athletic Bilbao respectively.
Defeat for Real, however, means they have now won only two of their five matches this year while Santiago Solari's frosty relationship with Isco shows no signs of improvement. Isco started, but struggled, and was replaced in the 68th minute.
For Atletico, Griezmann came off the bench in the second half and turned the tie in their favour, teeing up Angel Correa and then scoring himself to give his team a 3-2 lead at a rocking Wanda Metropolitano.
But Girona pulled out one more surprise to go through to the quarter-finals as Seydou Doumbia's shot found the corner in the 88th minute, snatching a 4-4 draw on aggregate after last week's first leg finished 1-1.
Griezmann had scored then too, and in between against Levante on Saturday. This was his eighth goal in as many matches.
"We thought we could leave Griezmann on the bench and only throw him on in the second half to do what he did, score the goal for 3-2," Atletico coach Diego Simeone said. "I didn't take into account Girona scoring again."
A sumptuous volley from Valery Fernandez and Cristhian Stuani's header had put Girona in charge after Nikola Kalinic had given Atletico an early lead.
Perhaps Simeone had one eye on the Champions League tie against Juventus next month, not to mention his side's title challenge, which sees them five points behind Barcelona and the Catalans' closest challengers in La Liga.
But it is now six seasons since Atletico last reached the final of Spain's most prestigious cup competition, which still represented their most likely source of a trophy this term.
They had looked set for a comfortable night when Kalinic was allowed to drift in behind Girona's dozing defence in the 12th minute, let the ball bounce and drive in on the half-volley.
Instead, Girona levelled thanks to a superb volley from Valery. The cross was flicked to the back post, where Valery cushioned the ball with his chest, before hammering it into the far corner.
Saul Niguez hobbled off, replaced by Rodrigo, and Girona pulled ahead. Atletico were too generous in giving Stuani space at a free-kick and he nodded in Aleix Garcia's cross with ease.
The ball had hit the net in the 59th minute and in the 61st, Griezmann entered the field. In the 65th, he set up a goal, Kalinic letting his team-mate's pass-run but doing enough to distract Girona's defence. Correa nipped in and finished.
With Girona still progressing on away goals, Atletico had just over 20 minutes to find a winner. Santiago Arias thought he had it but VAR showed him just offside. So did Griezmann, as he latched onto Thomas Lemar's scoped ball through and smashed it into the roof of the net.
He celebrated like he had won the tie but there was one more sting in the tail. Borja Garcia raced clear down the right and his cutback landed at the feet of Doumbia. His shot flew through the legs of Arias and snuck into the corner.
Madrid were beaten 1-0 by Leganes, Martin Braithwaite giving hope to the hosts, who failed to take a number of chances to launch an unlikely comeback. Real had won the first leg 3-0.
"We got through but the performance was weak," Solari said.
His team now turn their attention to Saturday's crunch La Liga game against Sevilla, who slipped to a 1-0 defeat at home to Bilbao. Gorka Guruzeta scored the winner for a rejuvenated Bilbao side but Sevilla still progress 3-2 on aggregate.