PHOENIX - Philadelphia left-hander Cole Hamels gave up four hits over eight innings and drove in two runs at the plate, while Hunter Pence drove in two other runs, to help the Phillies to a 7-2 victory over Arizona.
Hamels retired 18 consecutive batters after giving up a leadoff single in the first inning, and his two-out, two-run single to center field capped a five-run sixth inning for a 6-0 lead.
Pence, who missed the first game of the series with shoulder soreness, singled in runs in the first and sixth to help the Phillies to win the three-game series, the first series victory for the five-time defending NL East champions since they took two of three games from Miami at Citizens Bank Park in the second series of the year.
Hamels, a potential free agent after the season, lowered his ERA to 2.73 and has not given up more than three earned runs in any of his four starts this season. He is 4-1 with a 2.86 in five career starts at Chase Field.
Pence is a career .365 hitter with four homers and 15 RBIs in 63 career at-bats at Chase Field.
Placido Polanco had three hits and scored twice. Carlos Ruiz had three hits, including an RBI-single in the five-run sixth.
Trevor Cahill (1-2) gave up four runs in 5 1/3 innings and lost his second straight home start. His ERA is 3.70. The D-backs have lost seven of nine.
The D-backs broke Hamels' shutout with two runs in the seventh. Aaron Hill singled with one out and scored after singles by Justin Upton and Jason Kubel, making it 6-1. Kubel extended his hitting streak to nine games.
Cody Ransom walked and Phillies' second baseman Pete Orr muffed a throw from shortstop on a potential double play ball hit by Paul Goldschmidt, enabling Upton to score and keep the bases loaded, before A.J. Pollock grounded into a double play started by Orr to end the inning.
Polanco singled with one out in the first inning and went to second on a passed ball before scoring on Hunter Pence's ground ball single through the hole between third base and shortstop to make it 1-0.
Laynce Nix followed with a looping fly down the left field line that bounced off diving third baseman Cody Ransom's glove for a double, but left fielder Jason Kubel tracked the ball down in foul territory and threw out Pence attempting to score on a close play at the plate. Kubel leads major league outfielders with five assists, four from left field and one from right.
Nix has hit safely in all three games here, doubling as a pinch-hitter in a 9-5 loss Monday and getting three hits, including a two-run homer, in an 8-5 victory Tuesday.
Philadelphia had another runner thrown out at the plate in the second inning, when catcher Carlos Ruiz was out attempting to score from first base on a wild pitch. Cahill's pitch to Freddy Galvis bounced in the dirt and caromed all the way in front of the Phillies' dugout on the first-base side. No one covered home initially, but Ransom outraced Ruiz to the plate and got Henry Blanco's throw for the out. Ruiz reached on a one-out single.
The D-backs got only one runner to second base off Hamels in the first five innings, but he was not there long. Willie Bloomquist led off the first with a double into the left corner but was picked off by Hamels as he broke toward third base attempting to steal with one out.
Hamels retired the next 13 and faced the minimum through five innings.
NOTES: Right-hander Michael Schwimer was promoted from Class AAA Lehigh Valley to replace right-hander Michael Stutes on the roster. Stutes was placed on the disabled list with right shoulder inflammation. ... Infielder Pete Orr's three-run triple in the seventh inning Tuesday was the first three-RBI game of his career in his 397th game. His 396-game streak without as many as three RBIs in a game was the longest for a major league active position player, according to Elias. Kansas City second Chris Gets now has the longest streak, 319 games. ... After completing a 10-game western swing in Arizona, the Phillies have only two more series west of the Central time zone. They have a six-game trip to Colorado and the Los Angeles Dodgers immediately after the All-Star break.