Canada scored two late tries to topple Fiji 26-21 on Saturday as they emerged unbeaten from pool play to book a Cup quarter-final clash with Spain at the Vancouver leg of the World Rugby Sevens Series.
Canada trailed 14-12 in the second half but capitalized when Vilimoni Botitu was given a yellow card.
That led to Pat Kay scoring the go-ahead try, with Justin Douglas sprinting for a final try to seal it.
"That's one you dream of right there," Douglas said. "Anytime you play them in front of home fans and get a result like that it's huge for us."
Theo Sauder scored two tries for the Canadians, who had opened their home event with a 31-21 victory over France and capped their night with a 29-7 victory over Wales.
Fiji needed a 26-17 closing win over France to set up a quarter-final against series leaders New Zealand.
New Zealand routed Kenya 29-0 and Spain 31-0 before battling to a 33-24 victory over Ireland to remain unbeaten.
Ireland trailed 14-12 at halftime, but seized the lead with two tries before New Zealand rallied with tries from Vilimoni Koroi and Amanaki Nicole.
Australia powered into a quarter-final clash with England, capping their day with a 29-7 victory over the United States.
A hat-trick of tries to Lachie Miller and two for Henry Hutchison against the Americans saw Australia complete pool play unbeaten after a 33-19 win over Scotland and a 40-12 victory over Samoa.
South Africa, who battled back from 19-0 down to stun Fiji in the final of the Los Angeles Sevens last weekend, enjoyed a dominant first day, following a 12-0 victory over Japan with a 17-5 win over Argentina before trouncing England 38-0.
Despite that deflating result, England advanced on the back of a 31-0 win over Argentina, who were reduced to six men early in the first half, and a 29-0 shutout of Japan.
Results from the Vancouver Sevens on Saturday, the sixth leg of the World Rugby Sevens Series:
England 31 Argentina 0
South Africa 12 Japan 0
England 29 Japan 0
South Africa 17 Argentina 5
Argentina 14 Japan 14
South Africa 38 England 0
France 21 Canada 31
Fiji 26 Wales 19
France 19 Wales 21
Fiji 21 Canada 26
Canada 29 Wales 7
Fiji 26 France 17
Ireland 26 Spain 28
New Zealand 29 Kenya 0
Ireland 14 Kenya 12
New Zealand 31 Spain 0
Spain 17 Kenya 14
New Zealand 33 Ireland 24
United States 19 Samoa 5
Australia 33 Scotland 19
United States 28 Scotland 12
Australia 40 Samoa 12
Samoa 19 Scotland 19
Australia 29 United States 7
Sunday's Cup quarter-finals:
South Africa v United States - 20:19
New Zealand v Fiji - 20:41
Australia v England - 21:03
Canada v Spain - 21:25