Trailing 2-1 entering their final at-bat, the Reds got Zack Cozart aboard with a single off Francisco Cordero (0-1) and Stubbs followed by lining a 2-0 pitch into the left field seats, putting Cincinnati ahead.
Cordero later issued a pair of walks and Xavier Paul added an insurance tally with an RBI single for the National League Central-leading Reds.
Stubbs finished 3-for-4 while Paul added three hits and a pair of RBI for Cincinnati.
Mike Leake (4-6) earned the win, surrendering a pair of runs on seven hits over eight innings, walking one and striking out six.
Aroldis Chapman struck out the side in the ninth for his 18th save.
Astros starter Lucas Harrell allowed only one run on seven hits over seven frames.
Justin Maxwell hit a two-run homer for Houston.