Germany beat Spain 2-0 in a penalty shoot-out to book a semi-final date with defending champions Russia in the men's handball competition. Germany eventually prevailed after being tied 27-27 after full time and 30-30 after extra time.
France had led Russia 14-13 at half-time in their quarter-final but Russia came through strongly to win 26-24.
World champions Croatia downed Greece 33-27 and will play Hungary, who beat South Korea 30-25, in the last four.
In a classic match-up, Spain twice had the match won and twice the Germans came back to level things.
Spain were leading by one point with six seconds left at the end of the first session of extra-time before Daniel Stephan scored with a penalty to make it 27-27.
Spain then went 30-28 up and looked home and dry before Christian Schwarzer, who scored nine goals, scored twice to send the game into a shoot-out.
German goalkeeper Henning Fritz saved the first four Spanish penalties while Torsten Jansen and Stephan netted for the Germans.
"It was very emotional, I don't think anyone will sleep tonight," said Germany's Volke Zerbe.
"This was revenge for losing to the Spanish in Sydney."