Goals from Mario Martinez and Romell Quioto cancelled out Manjrekar James' opener for Canada as Honduras claimed three valuable points.
Honduras came from behind to beat Canada 2-1 and take a significant step towards the hexagonal round of CONCACAF World Cup qualifying.
Last November, Canada claimed a 1-0 win in Vancouver to blow Group A wide open and a thumping header from Manjrekar James had Benito Floro's team dreaming of repeating the dose.
But Mario Martinez hauled Honduras level in first-half stoppage time before Romell Quioto's 50th-minute strike proved decisive.
Honduras are second in the four-team group on seven points, three better off than Canada in third with a vastly superior goal difference – something Floro's men will hope to make a dent in when they face El Salvador next Tuesday.
Antony Lozano failed to find a finish with Canada goalkeeper Milan Borjan scrambling for position and Quioto had penalty appeals waved away before the visitors drew first blood.
James was given too much room to run onto Scott Arfield's pinpoint corner and crash home.
Honduras ramped up their quest for an equaliser as half-time approached, with Borjan brilliantly denying Brayan Beckeles amid a flurry of corners before the equaliser arrived.
Borjan was unsighted until it was too late, with Martinez's strike zipping through a crowded penalty area and into the bottom corner.
The winner arrived early in the second half when Quioto slid home Alberth Elis' cross from the right and only wasteful finishing from Honduras prevented victory by a more handsome margin.
Substitute Boniek Garcia, on for the match-winner, came closest when he lifted a shot against the crossbar inside the final 20 minutes with Canada flagging badly.