It vas the first setback in three games for RSL, which fell to 4-12-6 for the season.
Ahead 2-1 going into the second half, the Dynamo began pulling the ball out wide. That presented problems for the RSL back line, which lost marks at crucial times.
Dynamo striker Natt Jaqua was the primary beneficiary, doubling his season goal total with his first career hat trick. Corey Ashe assisted on all three Jaqua scores.
Jaqua's last two goals came off similar passing sequences run by the Dynamo in the first 13 minutes of the second half.
Dwayne De Rosario began the first play with a through pass to Ashe in the 48th minute. Ashe crossed to Jaqua, who had been left alone in front of the goal.
Ashe fed Jaqua again 10 minutes later after taking a pass from Ricardo Clark.
"I couldn't speak too knowledgably about it, so I tend not to, but there has to be questions about why there are guys running completely free in the 6-yard box of our goal," RSL coach Jason Kreis said.
Three substitutions in the next five minutes appeared to spark RSL, which came back with two goals make the contest close again. Carey Talley took a well-placed pass from Javier Morales in the 68th minute and scored on a header.
The Dynamo lead shrunk to one goal in the 83rd minute when Kyle Brown jumped on a rebound off a Dynamo defender and blasted in a shot. It was the first MLS goal for Brown, who had replaced Alecko Eskandarian in the 60th minute.
"The one thing we can take out of this game and feel very good about is that our players showed a lot of character," Kreis said. "Being down 4-1 and getting themselves back into that game speaks volumes for the character of the group."
The action-filled second half stood in stark contrast to the opening 45 minutes, which was marred by frequent fouls and stoppages in play.
Tempers began to fray in the 18th minute after Fabian Espindola tied the game for RLS with his second goal of the season.

