Joey Johnson added 15 points and Bo Hedges 14, while Ismael Garcia Moreno led Spain with 16 points.
Canada will now face hosts Great Britain, who held on in a tense finish to see off Turkey 75-70.
An 11-point British lead disappeared in the final five minutes as Turkey closed to within 71-70 with 20 seconds left.
But Terry Bywater then went to the foul line twice and hit all four of his free throws to send Britain through.
Bywater finished with 23 points and 13 rebounds to lead Britain to victory, while Ozgur Garbalak - who inspired the late charge and finished with 28 points - was unlucky to finish up on the losing side.
The USA stunned Germany early in the fourth quarter as they booked their place in the semi-finals with a 57-46 win.
The USA scored 11 straight to start the fourth quarter, part of a 20-1 run as they came from 34-27 down to take control of the game.
Joshua Turek, Steve Serio and Paul Schulte had 10 points each for the USA.
Andre Bienek scored 15 of his 18 points for Germany in the first half, and added 13 rebounds.
The Americans will now face defending champions Australia, who were helped by an outstanding performance from Brad Ness to beat Poland 76-53.
Ness scored 26 points while Justin Eveson and Tristan Knowles added 13 as Australia shot 53 per cent from the field.