Denmark stunned France 4-2 on penalties to set up a semi-final tie against Scandinavian neighbours Norway.
Denmark opened the scoring through Johanna Rasmussen's composed finish, before Louisa Necib equalised from the penalty spot for the French.
The score remained 1-1 after extra-time, with Janni Arnath then striking the winning penalty for the Danes.
Solveig Gulbrandsen and Ada Hegerberg struck and Irene Paredes scored an own goal as Norway defeated Spain 3-1.
Eli Landsem's Norway defeated the Spaniards with ease, as they reached the last-four of the tournament for a fourth consecutive time.
Gulbrandsen opened the scoring on 24 minutes with a cross that evaded everyone and nestled in the bottom corner, before Paredes inadvertently hooked the ball into her own net while attempting a clearance.
The Norwegians effectively clinched the game on the hour mark with superb effort from Hegerberg, who spun and curled the ball into the net from the edge of the area, before Jennifer Hermoso's neat effort in injury-time.
Despite finishing third in group A, Denmark progressed as one of the two best third-placed finishers, after a drawing of lots eliminated Russia.
And they took a surprise lead in the first half against France as Rasmussen found herself through on goal, before slotting past goalkeeper Sarah Bouhaddi.
But France, who ensured England's elimination from the tournament, got back on level terms in the second half through Necib, who converted from the spot after Line Roddick barged Camille Abily in the back.
It was all France in extra-time, as Abily rattled the bar with a free-kick, but there was no further breakthrough as the contest went to penalties. Having scored one in normal time, Necib had her spot-kick saved for France, as did Thereas Nielsen for Denmark.
Sabina Delannoy hit the post, giving Denmark the advantage, and Arnath stepped up to coolly send the ball into the top corner, sending her side through to the last four.