Cunningham threatened the Dynamo goal in the opening seconds, failed to beat keeper Pat Onstad from the penalty spot, then fired over the crossbar before juking past Geoff Cameron to score from the edge of the box - all in the first 20 minutes.
Houston labored to find its attacking rhythm. Brian Ching, looking fatigued, left at halftime, and after being substituted, midfielder Brad Davis came off the bench to bark at Dallas' Dave van den Bergh and referee Baldomero Toledo, at the behest of fourth official Jasen Anno, sent him off.
Still outside the playoff octet, FCD (6-9-5) is at least making its season interesting, especially in light of it finally selling Kenny Cooper to an overseas club. Since FCD consummated that deal with German club 1860 Munich, Cunningham has scored five goals and FCD posted its first back-to-back shutouts of 2009.
"I think we really started off well," said Dallas coach Schellas Hyndman. "The first ball the defense made a mistake on, Jeff had a chance to put us ahead in the first 20 seconds. It just seemed like that pressure continued to come. Jeff did a really good job getting isolated on one-on-ones. It was really unfortunate that he didn't get a goal earlier."
The victory came at a price. Pablo Ricchetti picked up a booking, his fifth of the season. He will miss next week's game at Columbus, and so may center back Kyle Davies, who left the game with a groin injury.
Houston (10-6-5) faces a quick turnaround, which is perhaps why Kinnear replaced Ching and Davis. It hosts Chicago (8-3-8) Sunday night.
Aug. 6 in Frisco, Texas
FC Dallas 1, Houston 0.
Goal: Cunningham 20.
FC Dallas -- Sala, Moor, Davies (Torres 59), Ricchetti, Benitez, Harris, Ferreira, McCarty, van den Bergh, Shea (Rocha 66), Cunningham (Wagner 78).
Houston -- Onstad, Hainault, Boswell, Cameron, Chabala (Cruz 72), Ashe, Clark, Holden, Davis (James 65), Ching (Kamara 46), Oduro.
Referee: Baldomero Toledo.