Till yttermera visso blev det förlängning vilket gjorde att från kick-off till slutsignal förflöt över fyra timmar.
Det var ett fint anfall med många passningar som avslutades med att Angela Hucles nickade in 1-0 till USA efter 12 minuter. Kanadas målvakt Erin McLeod skadade sig vid den situationen och fick efter några minuter ersättas med Karina LeBlance.
Efter den långa åskpausen kvitterade Christine Sinclair för Kanada med ett välplacerat skott.
I slutet av ordinarie matchtid var USA nära att avgöra. Karina LeBlanc gjorde en jätteräddning när Amy Rodriguez så när forcerat bollen över mållinjen.
Till förlängningen skiftade Pia Sundhage Heather O´Reilly mot Natasha Kai och det blev hon som säkrade USAs semifinalplats med sin 2-1-nick tio minuter senare.
USA får möta OS-turneringens sensationslag Japan i semifinal.