Michael Barrios had two assists for Colorado.
Christian Ramirez scored the lone goal for the Dynamo, who had a three-match unbeaten streak snapped.
The Rapids took 13 shots and placed six on target. Houston put four of its eight shots on net.
The Dynamo didn't have a single corner-kick opportunity while Colorado took five corners.
Colorado struck first in the 29th minute when Barrios sent a pass back to Vines, who smacked a left-footed blast past Maric.
Seven minutes later, the Rapids made it 2-0 with Barrios again setting up the goal. This time, he sent a pass to Rubio, who knocked a header into the left corner of the net to help celebrate his 28th birthday.
Houston answered in the 39th minute as Adam Lundqvist got a pass through some soft defensive play to Ramirez, who delivered a right-footed grounder past Colorado goalkeeper William Yarbrough into the lower left corner.
Three minutes later, Maric was trying to clear the ball away from his own goal and decided to kick with his left foot. The nearby Bassett moved toward him and deflected the ball with his right foot and into the net to give the Rapids a 3-1 lead.
Colorado had a chance to add to the lead in the 88th minute but Nicolas Benezet sent a close-range, right-footed shot just wide of the right post.
Houston dropped to 0-2-1 on the road this season.