Sweden came from behind to beat Germany for the first time in 24 years, while Netherlands secured their first ever semi-final spot at a Women’s World Cup with a 2-0 defeat of Italy.
Germany were ahead on 16 minutes when Sara Dabritz picked out Lina Magull in the area who flicked up the ball to volley through the legs of Hedvig Lindahl.
But Sweden were level 5 minutes later as a long ball caught out the German defence and Sofia Jakobsson finished past Almuth Schult.
The keeper then came to the rescue when Stina Blackstenius was sent through with another route one attack, tipping the shot over.
Germany brought on Dszenifer Marozsan at half-time but within two minutes Blackstenius had turned in what proved to be the winner, following up Schult’s flying save from a Fridolina Rolfo header.
There was a late let off for Lindahl and her team with offside given against Alexandra Popp whom she had caught in the back of the head when attempting to punch clear.
Sweden and the Netherlands now clash in the second semi-final on Wednesday evening, while both have now also qualified for the 2020 Tokyo Olympics.
Two Sherida Spitse free-kicks brought late goals for Vivianne Miedema and Stephanie van der Gragt as the Netherlands eventually overcame Italy.
A scrappy first half cooked up few clear cut chances in the heat and Italy perhaps had the better of them but scuffed a couple of efforts when through on the Dutch goal.
It was a different game after the restart with the Netherlands on top from the off, although it was into the last 20 minutes before they found the net.
Miedema headed home from a Spitse free-kick to break the deadlock and then a second set-piece was their match-clincher, this time from the head of Van der Gragt.