The home side needed a big win in World Cup qualifying but fell short to end up third in their group, with Mexico and Honduras finishing above them.
Canada crashed out of World Cup qualifying on Tuesday despite a 3-1 win over El Salvador in Vancouver.
Needing a big win to overtake Honduras, the hosts saw Cyle Larin, Nik Ledgerwood and David Edgar net at BC Place Stadium.
However, they fell short in Group A – ending up third behind Mexico and Honduras, who played out a 0-0 draw.
Larin opened the scoring in the 11th minute and Ledgerwood struck in the second half for Benito Floro’s men.
El Salvador were reduced to 10 men when Darwin Ceren saw red, but they managed to pull a goal back through Nelson Bonilla.
But Canada’s win, sealed by Edgar late on, was not enough, ending their bid to qualify for the World Cup for just a second time and first since 1986.
They were fortunate to take an early lead.
A poor attempted pass out of defence rebounded off a Canada player and into the path of an offside Larin, who took a touch before volleying in the opener.
Ledgerwood was far more convincing in doubling the advantage, finishing into the top corner from inside the area.
However, even after Ceren picked up a second yellow card, El Salvador managed to pull a goal back.
Bonilla was on hand to tap in the easiest of goals in the 78th minute, although Canada managed to seal their win through Edgar in additional time.