PHOENIX — Matt Garza was effective for seven innings, striking out seven and making only one real mistake.
Any other game, it might have been good enough for a win.
It wasn't against Arizona rookie Wade Miley.
Miley outpitched Garza in eight strong innings, working out of a late jam to send the Chicago Cubs to a 5-1 loss to the Diamondbacks on Sunday that completed a three-game sweep.
"Garza pitched a very good game, kept it close, but we didn't get a big hit today, again," said Chicago's Alfonso Soriano, who hit his 14th homer off Miley in the seventh inning. "We have to keep fighting and keep grinding. We can't give up."
Miley (9-3) made it tough on them Sunday.
The left-hander retired 20 of the first 21 batters he faced before giving up a homer to Soriano in the seventh inning, then was in trouble in the eighth after his second walk in 149 hitters and a double by Chicago's Darwin Barney. Miley worked his way out of it by striking out Joe Mather, getting pinch-hitter Luis Valbuena on a line out to shortstop and David DeJesus on a comebacker.
"It was his game," Diamondbacks manager Kirk Gibson said. "He earned the right a long time ago, but he didn't have a choice. We were down to four guys (in the bullpen) and we felt he was the best guy still at that time."
Jason Kubel hit a solo homer off Garza (2-6) and Justin Upton had three RBIs, breaking open a tight game with a two-run single through the left side off Manny Corpas in the eighth inning. Aaron Hill also drove in a run to extend his home hitting streak to 16 games and closer J.J. Putz worked out of a little jam in the ninth to finish off Arizona's first sweep of the Cubs in a three-game series since 2001.
After struggling the first two months of the season, Arizona has crept back up the NL West standings. The Diamondbacks have gotten good starting pitching, broken out of their offensive funk and have won 10 of 11 home games and 12 of 17 overall, including four straight.
"We've got a lot of confidence right now," Miley said.
Chicago had four hits against Arizona on Sunday and went 3 for 25 with runners in scoring position with 26 stranded runners in the three games against the Diamondbacks. The Cubs have lost four straight and eight of 11, dropping their record to a baseball-worst 24-48.
"When we are winning I am tired, but when we are losing and get swept it is mental," Soriano said. "Losing like we are losing now is tough. The way we are losing is not acceptable."
The Diamondbacks had been on an offensive tear, scoring 46 runs the previous five games, their most in the same span since 2000. They rolled over the Cubs the series' first two games, including 10-5 on Saturday for their fifth straight game with at least 10 hits.
They couldn't keep it going against Garza, but didn't need to the way Miley had the Cubs flailing.
A nice surprise for the Diamondbacks this season, he has made a case to represent Arizona at the All-Star game and as a candidate for rookie of the year.
Miley entered Sunday's game as the rookie leader in wins and ERA (2.30), and had allowed three earned runs in 22 2-3 innings his previous three starts.
The left-hander was good against the Cubs, too, retiring 14 straight batters before Soriano lifted a homer just over the wall in left-center in the seventh that cut Arizona's lead to 2-1.
After working himself out of the jam in the eighth inning, Miley walked to lead off the bottom half and scored, along with Hill, when Cubs shortstop Starlin Castro couldn't come up with Upton's hard grounder that put the Diamondbacks up 5-1.
He didn't come out for the ninth inning after throwing 116 pitches.
"We needed a start like that, one run in eight innings," Gibson said.
Garza was nearly as good.
The hard-throwing right-hander gave up a run in the first inning when he walked leadoff hitter Gerardo Parra and Upton knocked him in with a flare single to left-center.
Garza had the Diamondbacks off-balance over the next four innings, retiring 15 straight batters before Parra hit a two-out triple in the sixth inning. Hill drove him in with an infield single that third baseman Mather had trouble handling just over the base.
Garza's one big mistake came in the seventh inning, when he left an 0-2 pitch up and Kubel hit it out to the pool in right-center – the 43rd all-time to get wet – for a solo homer that put the Diamondbacks up 3-1.
Garza allowed three runs on five hits with seven strikeouts in seven innings.
"He was outstanding, too," Cubs manager Dave Sveum said. "Besides a hanging slider, walking the leadoff hitter of the game, other than that, he was really good; about as good as he has been in a long time."
Problem for the Cubs was that Miley was just a little better.
NOTES: Chicago is 3-16 against left-handed starters this season. ... Cubs LHP Travis Wood, the starter Monday against the New York Mets, has allowed three earned runs or less in six of his first seven big league starts. ... Arizona RHP Daniel Hudson, who'll start Tuesday against Atlanta, is 2-0 with a 7.01 ERA in five starts since returning from the DL. He had a no decision his last start, allowing seven runs on 10 hits in four innings of the Diamondbacks' 12-9 loss to Seattle on Tuesday.