Sept 7 Honduras held Mexico to a 0-0 draw at the Azteca stadium on Tuesday to claim a place in the final stage of CONCACAF World Cup qualifying along with the hosts.
Canada beat El Salvador 3-1 in Vancouver but that was only enough for third place in Group One a point behind Honduras and their hopes of progressing were ended.
Mexico and Honduras will join the United States, Trinidad and Tobago, Costa Rica and Panama in the six-team 'Hexagonal' stage that starts in November.
The top three teams from the final phase of home and away matches will qualify automatically for Russia 2018, while the fourth-placed side will go into an playoff with an Asian team.
Mexico were the better team at the Azteca stadium but an obdurate Honduras fought them all the way and the home side were booed off the pitch despite having lost just one of 14 matches under Colombian coach Juan Carlos Osorio.
Canada needed a big win to keep their hopes alive but could only manage three goals at BC Place even after El Salvador's Darwin Ceren was sent off 35 minutes from time.
Cyle Larin, Nikolas Ledgerwood and David Edgar scored for the Canadians, with skipper Nelson Bonilla replying for the Salvadorans.
Costa Rica guaranteed top spot in Group Two with a 3-1 win over Panama, who were also already guaranteed a place in the next round.
Haiti got their first win of the round when they beat Jamaica 2-0 in Kingston to leapfrog their rivals into third place.
The United States topped Group Three earlier in the evening with a 4-0 win over Trinidad and Tobago, who nevertheless qualified in second spot.
Third place Guatemala thrashed St. Vincent and the Grenadines 9-3. (Writing by Andrew Downie, editing by Nick Mulvenney)