Mark Hamilton's fielder's choice grounder to second baseman Jeff Keppinger scored Pujols, and Wilton Lopez's bases-loaded walk brought home Hamilton. Then, Descalso delivered the two-run double to cap the inning.
Berkman added his 15th homer in the ninth.
Lance Lynn (1-1) benefited from the big inning. He pitched five innings, allowed six hits and one run. He walked three and struck out three.
Happ pitched 5 1-3 innings. He gave up six hits, six earned runs, struck out five and walked two.
The Astros left the bases loaded with one out in the third. Brett Wallace struck out and Chris Johnson hit into a forceout. Houston loaded the bases with no outs in the seventh and managed one run on Keppinger's groundout.
Ryan Theriot, whose 20-game hitting streak ended Wednesday night, doubled down the left-field line to open the game. He was sacrificed to third by Jay and scored on Pujols' groundout.
Theriot also hit a solo homer in the eighth, and Skip Schumaker had an RBI single in the seventh.
Houston tied it at 1 in the first on single by Brett Wallace, who hit safely for the 12th time in 14 games.
Hunter Pence singled with two out in the inning, extending his hitting streak to 20 games. He took second on a wild pitch before scoring on Wallace's hit.