Updated

Matt Garza fired seven shutout innings, while Darwin Barney smacked a two-run homer, helping the Chicago Cubs down the Arizona Diamondbacks, 3-1, to complete a three-game sweep.

Garza (5-7) fanned seven, scattered five hits and walked one for the Cubs, who have won a season-high tying four straight and 10 of their last 13 games.

"I felt good today," remarked Garza. "I was able to stay in my mechanics real well and when I didn't I was able to catch myself and adjust quick."

The 28-year-old has allowed three or fewer runs at Wrigley Field in 18 straight starts.

Anthony Rizzo registered an RBI single, while Carlos Marmol recorded the final two outs in the ninth to notch his 10th save of the season.

Chicago has won six consecutive contests at the Friendly Confines, its longest winning stretch since June 18-July 3, 2009.

Trevor Cahill (7-8) surrendered three runs on four hits and three walks for the Diamondbacks, who have dropped nine of their last 12 contests.

"It's frustrating that we either play well or we don't play," said Arizona manager Kirk Gibson of his club. "We're very streaky. We just haven't had quality at-bats."

The Cubs opened the scoring in the first when Rizzo lined an RBI single to right and added two more runs in the second on Barney's two-run shot into the left-field bleachers, giving the home team a 3-0 lead.

Aaron Hill belted a solo shot to left in the eighth, cutting the deficit to 3-1.

Game Notes

The Cubs starting pitching staff has accumulated a 1.13 ERA over their last five outings...Barney's homer was his fourth of the season...Chicago was 2- for-5 with runners in scoring position while Arizona finished 0-for-4.