Lisa Dahlkvist's penalty won Sweden an Olympic shoot-out against favourites the United States, and Germany forged on, but France did not make it to the last four.
Article top media content
Sweden eliminated reigning champions the United States and Melanie Behringer scored a cracker to send Germany through, but France have not made it to the Olympic semi-finals.
Quarter-finals, Friday 12 August
United States 1-1 (aet, Sweden win 4-3 on pens) Sweden, Brasilia
China 0-1 Germany, Salvador
Canada 1-0 France, Sao Paolo
Brazil 0-0 (aet, Brazil win 7-6 on pens) Australia, Belo Horizonte
Having only earned their last-eight place as one of the two best third-placed sides, Pia Sundhage's Sweden pulled off a major shock by eliminating the tournament favourites, who had won the 2015 FIFA World Cup as well as gold at the 2012 Olympics. Alex Morgan cancelled out Stina Blackstenius's second-half opener for Sweden, but the European side kept their cool in extra time in Brasilia, and Lisa Dahlkvist scored the shoot-out winner.
"It maybe looks boring for some, but at the end of the day, we want to win," said Sweden captain Caroline Seger, responding to accusations of negative play. Sweden will take on Brazil – who beat them 5-1 in the group stage – in the semi-finals.
Germany, meanwhile, were grateful for a thunderbolt strike from 25 metres from Behringer as they finally made the breakthrough against stubborn China in Salvador. Team-mate Anja Mittag gave the Bayern München midfielder huge credit. "She's had her ups and downs in the national team but has rediscovered her strengths and self-belief," she said. "It's important to have her in the team. She's a leader and has already scored four goals at the finals, more than us strikers. She does her job very well."
Silvia Neid's side will play Canada for a final place – a side that beat them 2-1 earlier in the finals. The Canucks eliminated France, Sophie Schmidt scoring the only goal in Sao Paolo.
Semi-finals, Tuesday 16 August
Brazil v Sweden, Rio de Janeiro
Canada v Germany, Belo Horizonte