It was Pittsburgh's second defeat to Philadelphia in as many nights. At 38-35, the Bucs are now in third place in the National League Central, three games behind the first-place Reds and one game behind the second-place Cardinals.
The Pirates had runners on second and third with one out in the first inning but came up empty-handed. They also couldn't put together an inning with multiple hits off Phillies starter Vance Worley until the sixth.
They entered the seventh trailing, 4-2. Clint Barmes led off the inning with a walk, and Michael McKenry singled off Worley to put two runners on with no outs. Pinch-hitter Drew Sutton, in his first game with the Pirates after being claimed off waivers from the Rays on Sunday, doubled to left field to narrow the Pirates' deficit to one.
After the double, the Phillies (36-40) inserted right-hander Michael Schwimer for Worley. Jose Tabata grounded out to Schwimer, then Neil Walker flied out to left field. John Mayberry Jr. caught the ball and fired it home to Carlos Ruiz just in time to nail McKenry to end the inning.
It was a close play at the plate. Had it gone the other way, the complexion of the game could have changed. If the Pirates hadn't let McKenry tag up, the Phillies may have intentionally walked Andrew McCutchen to face Garrett Jones.
"We took an opportunity there to try to steal a run, get back and tie the game, get some momentum that way," Hurdle said. "Unfortunately, they made the defensive plays."
"It was a perfect throw," McKenry said. "It was tough. [Ruiz] had the whole plate blocked. I tried to get underneath him, but it didn't really work out too well. He got pretty low."
In the eighth the Pirates had another golden opportunity. McCutchen, who went 2-for-4 to improve his season average to .341, led off against setup man Antonio Bastardo with his second double of the game.
Josh Harrison pinch-hit for cleanup hitter Jones and missed his bunt attempt, popping up to the catcher. Casey McGehee then popped out to first base, and Pedro Alvarez struck out swinging to end the threat.
The Bucs finished 2-for-13 with runners in scoring position.
"We kept battling," Hurdle said. "Offensively, the lack of execution is really what shot us in the arm."
Starter Erik Bedard struggled early but pitched better as the game wore on. The veteran left-hander surrendered four runs -- all in the first three innings -- on eight hits in six innings. He is now 4-8 on the season, with losses in each of his last four road starts. He finished Tuesday's outing two strikeouts shy of reaching 1,000 for his career.
The one pitch Hurdle said Bedard probably wanted back was a full count changeup in the third inning that he left over the plate to Ty Wigginton, who hit a two-run homer to left field to give the Phillies a three-run lead.
"The Phillies came out with a good game plan on [Bedard]," said McKenry, who started for the banged-up Rod Barajas. "I don't know exactly what it was, but we completely changed ours after the third. Really, after the first time going around, he did a good job of making do with what he had."
After the Pirates narrowed the Phillies' lead to one, Ruiz crushed an 0-2 pitch from reliever Juan Cruz into the left-field seats to extend it back to two after eight innings. Ruiz, who leads the Major Leagues with a .361 batting average, is hitting 10-for-15 against the Pirates this season.
McKenry came back with a home run of his own in the ninth off Philadelphia closer Jonathan Papelbon to make it, once again, a one-run game. But that was all the Pirates could muster.
Four of the first five games these two clubs have played this season have been decided by one run.
"They outplayed us again tonight," Hurdle said.