Canada qualified for the semis on goal differential and will play Colombia on Wednesday. Brazil will meet Mexico in the second semi.
Canada played very strong defensively and goalkeeper Stephanie Labbe made a couple key saves in the first half to keep it scoreless heading into the break.
Andressa Alves one-timed a centring pass deep in the box to give Brazil the 1-0 lead in the 55th minute. Cristiane Rozeira made it 2-0 in the 87th minute and Canada seemed to be just holding on.
Canada did have enough offensive chances in the second half to get the crowd going but had trouble getting off a decent shot.
A huge window of opportunity opened earlier in the evening when Ecuador beat Costa Rica 2-0. That meant three teams — Ecuador, Costa Rica and Canada — had one win apiece in Pool B, leaving Canada in control of its own destiny. A win, draw or four-goal loss against Brazil, which was minus just two starters from its World Cup squad, would put Canada through.
Costa Rica had a minus-three goal differential. Canada went into the game against Brazil plus-one and holding the tiebreak against Costa Rica with more goals-for. Ecuador, which had a 5-2 loss to Canada and a 7-1 loss to Brazil, was out of the hunt with a minus-seven goal differential.
The Canadians knew they were in tough heading into the tournament when they sent what was essentially an Olympic development team with everybody except Labbe under the age of 23, and many of them being only teenagers. Only four on the team had played in the World Cup - Labbe, Kadeisha Buchanan, Ashley Lawrence and Jessie Fleming. The other countries had sent mainly their World Cup rosters.
Then Labbe was red-carded late in the Ecuador game while both Lawrence and Buchanan had to return to West Virginia University briefly for school commitments, leaving the Canadian team severely depleted of experience in their 2-0 loss to Costa Rica.