Brian Ching scored twice early in the second half to break open a 1-1 game after Chris Wondolowski had provided Houston a 1-0 lead in the ninth minute that the Impact's Roberto Brown erased in the 37th. Peter Byers, who rejoined Montreal last week after negotiations with San Jose collapsed, netted the game's fifth goal in the final minute.
Rematches with Mexican opposition await both teams. In the second legs of their Concacaf quarterfinals, Houston plays Atlante in Cancun Tuesday with the teams tied, 1-1, and Montreal takes a 2-0 lead into its match against Santos Laguna in Torreon Thursday.
If both teams win, they will meet in the semifinals.
"We faced a very good team, but we didn't play our best game today," said Impact coach John Limniatis. "We started off slowly and there was a lack of intensity in our play. I think we considered this match as a friendly game. Fortunately the result is not important. We will be focused and ready on Thursday."
In the 47th minute, Ching put away a cross from Corey Ashe to restore Houston's one goal lead. Four minutes later he got on the end of another serve, this one from Mike Chabala, for the eventual game-winner.
"I think this was a good practice game for us, and one that I think will give us a little bit of confidence going into the game this week," said Ching, who scored his first goals of the preseason, in which the Dynamo is 3-1-2. "I am going to have to score goals all year, so I will take the positives when I can get them for sure."
Kei Kamara intercepted a clearance to set up Wondolowski for his goal. Brown got that one back after Felix Brilliant ran onto a ball from Tony Donatelli and centered a cross Brown put away first-time.
The last goal was set up by Eduardo Sebrango, who scored both of Montreal's goals in the win over Santos. Byers ran onto Sebrango's pass to fire a shot from the edge of the box into the top corner.
Players from both benches swarmed onto the field in the 56th minute when Brown elbowed Houston's Eric Ustruck. Officials and coaches intervened to head off a full-scale melee and Ashe had to be restrained by his own players. Brown was sent off as Montreal (7-1-2) lost for the first time in preseason competition.