DENVER -- Staring at a sixth straight loss, and the most heartbreaking yet on the current road trip, the Philadelphia Phillies rallied in the ninth inning Sunday.
Cameron Rupp's two-run double against Colorado Rockies closer Greg Holland lifted Philadelphia to a 3-2 win.
The hit gave Rupp a measure of revenge after he was thrown out at the plate in the eighth. The Phillies also had a runner thrown out at home in the ninth, and a missed call by the plate umpire on a pitch changed an at-bat in the seventh that resulted in a go-ahead hit for the Rockies.
Holland (2-2) took the mound in the ninth with a 1.56 ERA in 42 games and had converted 34 of 35 save opportunities.
Odubel Herrera led off with a hit that he hustled into a double.
"He's been criticized for lack of hustle," Phillies manager Pete Mackanin said, "but for him to take the extra base was outstanding and good to see."
Herrera moved to third on Maikel Franco's single. Hyun Soo Kim hit a grounder to shortstop Trevor Story, who threw out Herrera at the plate. Herrera hesitated before heading home.
"First and third, you're on third base, you have to go," Mackanin said, "because if they get a double play, you don't want to be standing at third with two outs. He hesitated for the simple reason that he didn't know if the pitcher was going to catch it."
Rupp then drove Holland's first-pitch slider into the gap in left-center field, scoring Franco and Kim.
"It was a quick at-bat," Rupp said. "He hung a slider, left it out over the plate, I drove it to the gap."
Holland said, "The pitch to the leadoff batter was a pretty good pitch. It could have been better, but the two-run double was a pitch where I thought he was looking to swing early in the count. My thought was to throw a borderline pitch and see if he would chase. It was a little too good."
Colorado took a 2-1 lead in the seventh on a two-out RBI double by Charlie Blackmon, his third double of the game. With the count 0-1 on Blackmon, pinch hitter Raimel Tapia, who had walked, stole second base. Blackmon stepped out of the batter's box to call time, which plate umpire Carlos Torres didn't grant.
The pitch to Tapia was down the middle, but Torres called it a ball, meaning Phillies starter Aaron Nola had a 1-1 count rather than 0-2 on Blackmon, much to the disbelief of Rupp, who was catching.
"After I threw the ball (back) and I looked at the scoreboard and it said 1-1, I said, 'You called that a ball?'" Rupp said. "He goes, 'Yeah.' I said, 'How, it was right down the middle?' I guess when I came up to throw, I blocked his vision."
With the count 3-1 to Blackmon, Nola threw a changeup that Blackmon drove into the gap in left-center field to put the Rockies ahead.
Colorado had scored a run in the first when Blackmon doubled and came home on Nolan Arenado's broken-bat flare to short right. The Phillies tied the score at 1 on Franco's 17th homer in the second.
Rupp led off the eighth with an infield hit. Pinch hitter Andres Blanco sliced a double into the left field corner off former Phillies reliever Pat Neshek. The ball hit the side wall and bounced around, and Rupp tried to score. However, left fielder Gerardo Parra threw the ball to Story, whose relay got to catcher Ryan Hanigan well ahead of Rupp's headfirst slide.
Blanco took third on the throw. Left-hander Mike Dunn came in to face Cesar Hernandez with the infield drawn in, and Hernandez walked. Dunn struck out Freddy Galvis but then walked Daniel Nava to load the bases. Nick Williams took a first-pitch slider for a strike and then grounded to second.
After the Phillies went on top in the top of the ninth, Story led off the bottom of the inning with a bunt single against closer Hector Neris, who replaced Edubray Ramos (1-7). Alexi Amarista flied to right. Pinch hitter Pat Valaika took a third strike.
Story stole second with pinch hitter Jonathan Lucroy in the process of drawing a walk. Neris got Blackmon to ground to first to end the game and post his 11th save.
Both starters worked seven innings, with Nola giving up two runs, six hits and two walks while striking out seven. Colorado's Jeff Hoffman allowed one run, four hits and one walk, and he fanned eight.
The Phillies improved to a major-league-worst 15-28 in one-run games and 4-18 in such games on the road. The Rockies are 14-7 in one-run games and 8-3 at Coors Field.
"When you're in a 2-1 game in the eighth or ninth inning, it could go either way with a big hit," Rockies manager Bud Black said. "These are good ones to win and tough ones to lose. We've won our share of these this year."
NOTES: Rockies 2B DJ LeMahieu was scratched from the lineup with a left triceps contusion, the result of getting hit with a pitch Saturday night. ... Rockies RHP Antonio Senzatela will start Wednesday at Cleveland, taking the turn of LHP Kyle Freeland (left groin strain). ... Rockies LHP Jake McGee (mid-back strain) was reinstated from the disabled list, and RHP Shane Carle was optioned to Triple-A Albuquerque. ... Phillies C Andrew Knapp caught a bullpen session. He is recovering from a right hand contusion, the result of getting hit on the hand with a foul tip Thursday.