Happ (2-3) worked five-plus innings and lost for the second consecutive start, evening his career record at 27-27, and finished the night with an ERA of 5.72. He retired 13 of 15 batters during one stretch, giving up two-out solo homers to Andrew McCutchen and Jose Tabata on two-strike pitches in that span.
"He came back and was making some pitches to get us out of some innings, and they were able to get a couple of home runs and that kind of stopped us from getting a shutdown inning," Astros manager Brad Mills said. "Obviously, the sixth inning was huge, when we had the bases loaded with nobody out and could only score the one run. They had second and third and [we] were just about ready to get out of it, and they were able to sneak a couple in on a sac fly and a wild pitch."
Pirates starter Charlie Morton (2-3) held the Astros to seven hits and two runs (one earned) in six innings, escaping a bases-loaded, no-out jam in the sixth inning by allowing only one run. The Astros were 2-for-13 with runners in scoring position.
"That was a bugaboo tonight," Mills said. "Any time you get the bases loaded, nobody out, you'd like to get a chance to put up a crooked number."
Morton recorded 14 outs via ground balls.
"It's frustrating," said Astros catcher Chris Snyder, who played for the Pirates last year. "Charlie had a good sinker going and got a lot of ground balls for them, and I think we had a couple of double plays out there. That's definitely one of the ones where it's definitely frustrating on both sides of the ball."
Tabata (2-for-4) tripled and scored in the first inning to get the Pirates going, and McCutchen (4-for-4) whacked a solo homer to right-center in the third to make it 2-0. In the fifth, Tabata sent a fly ball down the right-field line that sailed into the bleachers to put the Pirates ahead 3-1.
Happ stood on the mound in disbelief.
"I don't even know if Tabata knew where the ball was," Happ said.
Houston got consecutive singles by Jose Altuve, Carlos Lee and Brian Bogusevic to start the sixth inning and loaded the bases with no outs. Justin Maxwell drove in a run on a fielder's choice to cut the lead to 3-2. But Matt Downs hit into a double play on the next pitch.
"Downs is a tough hitter," Morton said. "He got a big hit off me last year in Houston. So it was nice to get him out in a tough situation."
Happ was pulled after the first two batters reached in the bottom of the inning on an infield hit by McCutchen and a double by Pedro Alvarez. The Pirates went on to load the bases with no outs -- the second consecutive game they did that in the sixth inning -- and pushed two runs across on a Clint Barmes sacrifice fly and a wild pitch by reliever Rhiner Cruz to put the Pirates up 5-2.
"That's the thing," Happ said. "That's another start that seems like it's going along OK and then all of a sudden, whatever. Infield hits start to click, then I leave a pitch up for a double to Alvarez. That was probably the worst pitch of the game. So that's kind of where my frustration is. We were right there the whole game, but we didn't do enough to win."