The late goal kept Kansas City unbeaten in its last six games (4-0-2). Kansas City leads the Eastern Conference with 51 points -- four in front of the Chicago Fire.
Houston played the game without Coach Dominic Kinnear, who was serving a one-game suspension after being ejected in his team's victory over Real Salt Lake last week.
The Dynamo took the lead in the 58th minute on a goal from Brad Davis. Sapong's goal was his first in 13 games and came off a pass from Graham Zusi.
Houston (12-7-10) moved into a tie with New York for third place in the East at 46 points.