The USA pulled away in the fourth quarter to beat Canada 67-55, following Australia, the Netherlands and 2008 silver medallists Germany into the last four.
The gap had been just two, 42-40, late in the third and the final stanza began with the USA up 45-41.
But they used an 8-2 run to surge into a double-digit lead and never allowed Canada a way back into the game.
Desi Miller had 26 points and Rebecca Murray 12 for the USA, while Janet McLachlan's 31 points were in vain for Canada.
The USA will now play Australia on Thursday in a re-match of a game they won 60-47 four years ago.
Australia were the first team to book their passage through this morning.
Amber Merritt scored 14 points to lead them to a lop-sided 62-37 defeat of Mexico, with Cobi Crispin adding 12 points for the bronze medallists of four years ago.
Floralia Estrada Bernal led Mexico with 11 points and 16 rebounds.
The USA beat Germany 50-38 in the Beijing final, and the two teams could meet again with Germany progressing on the other side of the bracket.
They ended the medal hopes of hosts Great Britain with a hard-fought 55-44 win.
Germany, still unbeaten in London, finished on a 17-3 charge to turn a narrow British lead into a margin of victory that failed to tell the full story.
Annika Zeyen led them to victory with 25 points, while Helen Freeman had 19 points, six rebounds and eight assists for Britain.
Germany will now play the Netherlands, who were lifted into the final four by Mariska Beijer.
The 21-year-old poured in 29 points and sparked the decisive 14-4 run in the third quarter that ended the dogged resistance of China.
Fu Yongqing had 18 points and 12 rebounds for China.
Lia Maria Soares Martins exploded for 45 points to almost single-handedly earn ninth place for Brazil as they beat France 59-35 in the play-off game.