Moffat converted a big rebound for Houston (5-4-4) after FC Dallas goalkeeper Kevin Hartman made a save on a corner kick by Brad Davis.
FC Dallas (3-9-4) is winless in its last 10 games and played the last 26 minutes with just 10 players after Jair Benitez was given a red card. Benitez hit Dynamo midfielder Colin Clark in the head.
That play started a minor scrum between both teams, but cooler heads prevailed.
Jackson Goncalves tied the game in the 59th minute when he put a rebound past Tally Hall after Scott Sealy's initial shot caromed off Dynamo Houston defender Jermaine Taylor.
Both teams created multiple scoring chances in the first half, but Houston grabbed a 1-0 lead in the third minute on Bruin's goal. FC Dallas defender Hernan Pertuz tried to clear the ball, but his attempt deflected off Bruin and past Hartman from about eight yards out.
Dallas had six shots in the first half and nearly tied the game twice. The best chance came in the 16th minute when Scott Sealy beat Hall from 15 yards out, but his left-footed shot hit the far post.
Hall finished with three saves, and Houston improved to 9-3-7 all time against FC Dallas and 6-1-3 at home against its intrastate rivals.