PITTSBURGH -- His team having just pulled within a run, J.A. Happ was on the verge of a perfect inning.
The momentum he and the Astros were building was undone by a ball that somehow carried over the elevated right-field wall. Jose Tabata's solo homer was one of two Happ allowed in Houston's 5-2 loss to the Pittsburgh Pirates on Saturday night.
Tabata's seemingly innocuous-looking pop fly the opposite way down the right-field line with two outs and no one on in the fifth carried over the 21-foot wall to give Pittsburgh a two-run lead back. The Pirates would score two more in the sixth off of Happ (2-3).
"I don't know what happened there," Happ said of Tabata's homer, his second. "I don't think Tabata knew where the ball was. I don't have an explanation on how that ball got up and out of the park."
Happ was still smarting over the high fly ball after a game in which he was charged with five runs -- all earned -- on six hits and a walk with four strikeouts in five-plus innings.
"It's another start where everything seems like it's going along OK and then all of a sudden things start going against it," Happ said. "That's where my frustration comes from. Everything seemed to turn bad and we just didn't do enough to win the game."
Charlie Morton rebounded from consecutive poor starts and allowed one earned run in six innings and Andrew McCutchen had a solo home run among his four hits for Pittsburgh. The Pirates matched a season high for runs at PNC Park, winning for the first time in their past three games.
Jordan Schafer went 2 for 4 with an RBI for Houston, which had won two of its previous three. The Astros have scored 10 runs in their past six games.
McCutchen went 4 for 4 with his third home run and three singles. He had three hits in as many at-bats against Happ, giving him six consecutive hits against left-handed pitching and improving his average against lefties to .452.
McCutchen has 10 hits in his past 17 at bats.
"Andrew has another big night -- that's two four-hit games this week," Pirates manager Clint Hurdle said. "It's always good when you see him hit the ball to right-center... and he hit it there twice tonight."
McCutchen's third-inning solo homer came after Tabata scored on Neil Walker's sacrifice fly in the first.
"I think tonight (Happ's) problem was that he left some balls up in the zone," Astros manager Brad Mills said. "He was in a couple of situations where he was ahead in the count then gave up two-strike home runs that kept us from getting some shutdown innings.
"He's got good stuff and he came out throwing the ball really well to start the game. We were hoping he could carry it through but the home runs hurt him."
Morton (2-3) had lost each of his two previous outings, allowing 11 runs in those games. More alarming, the right-hander who was the majors' best at inducing groundball outs last season had allowed four home runs in his previous three starts.
All but two of the outs Morton recorded against the Astros came via groundballs.
"Charlie was able to right the ship," Hurdle said. "Seventeen balls on the ground, 14 for outs. That was real good to see."
Morton led the majors last season with a 1.59 groundball-to-flyball ratio, giving up six home runs in 171 2/3 innings -- fewest of any pitcher in baseball who pitched at least 110 innings in 2011.
After allowing only one right-handed hitter to homer off of him in 381 at-bats last season, four times a right-handed hitter already had homered against him this season.
Morton was charged with two runs on seven hits and a walk with no strikeouts Saturday.
"My sinker was better today than it was my last start," Morton said.
Houston scored an unearned run in the fifth when Schafer drove in Chris Snyder with a double. Jose Altuve scored on Justin Maxwell's fielder's choice in the sixth -- the only run Morton allowed that inning after gave up three consecutive singles to begin it, preserving the Pirates' lead. Morton got the final batter he would face, Matt Downs, to ground into a double play to end the sixth.
"Charlie had a good sinker going," said Snyder, a Pirates catcher last season. "He got a lot of ground balls and a couple of big double plays when he needed them."
Mills said slumping OF J.D. Martinez would be back in the lineup Sunday after a three-game absence. ... Alvarez snapped an 0 for 22 slump with a sixth-inning double. ... Pittsburgh RHP A.J. Burnett (1-2, 6.08) faces LHP Wandy Rodriguez (3-3, 2.14) in the series finale Sunday afternoon.
Catcher Yadier Molina, who has spent his entire 15-year career with the Cardinals, said it "would be a dream" to be considered for the role of player-manager during his last contract year with the team in 2020.
Bryce Harper will get to enjoy at least one more grand celebration as a hometown fan favorite at Nationals Park when he trots out to right field at the beginning of the All-Star Game.
Nationals pitcher Max Scherzer reacts to being named the National League's starting pitcher for the All-Star Game in Washington.
Jacob deGrom wants the New York Mets to consider trading him if they aren't interested in signing the ace pitcher to a long-term contract.
Nationals ace Max Scherzer will start for the National League in the All-Star Game on his home field Tuesday. Red Sox ace Chris Sale will make his third consecutive start for the American League.
The July 31 MLB trade deadline is fast approaching. Stay up to date with the latest deals, rumors and analysis as your team contemplates its next big move.