CHICAGO -- Patrick Corbin is finding ways to pile up victories without his best stuff.
Corbin (9-0) allowed four runs and six hits, tying the team record for consecutive wins at the start of the season, set by Brandon Webb in 2008. The Diamondbacks are 11-0 in his starts.
"Actually the whole game he didn't have good stuff. His slider wasn't there, his fastball was cutting and we used his changeup more today. But he kept us in the game," said catcher Wil Nieves.
For the second straight start Corbin gave up at least four runs after not allowing more than two runs in his previous nine starts.
He hit two batters and walked two in a 33-pitch first inning, when he walked Dioner Navarro with the bases loaded. Corbin minimized the damaged by retiring Cody Ransom on an inning-ending flyout to the warning track in center.
"We had a chance that one inning (first) to bust it open, but without the wind blowing in, Ransom probably could have been a grand slam and things change," said Cubs manager Dale Sveum.
"I think I was just rushing with my delivery a little bit, cutting off my fastballs and wasn't really locating too well. That was basically it," Corbin said.
Edwin Jackson (1-8) gave up seven runs -- five earned -- a season-high 12 hits, three walks and four wild pitches in 5 2/3 innings.
Nieves had three hits and two RBIs for Arizona.
Scott Hairston hit his 100th career homer as the Cubs lost their second straight after a season-high five-game winning steak.
Arizona loaded the bases in the second when, with two men on, center fielder Julio Borbon took his eyes off of Corbin's routine fly ball to center and dropped the ball for an error.
Gerardo Parra followed with a two-run single, and Jackson's wild pitch allowed Corbin to score for a 3-1 lead.
Jackson's RBI single cut the deficit in the fourth, but Nieves' two-out RBI single boosted the lead to 4-2 in the fifth.
Hairston's fifth homer this season, a two-run drive, tied the score in the bottom half.
Corbin stayed in just long enough to get the win.
"I thought I would go out back out to pitch in the sixth. I was going out there like I was going to hit. I felt fine. I know the first inning I threw a lot of pitches which got my pitch count up, but after that I think I settled in a little bit," said Corbin. "I'm just glad the sixth inning I was able to get out of it and keep the relievers out of that inning."
Jackson allowed three straight singles with two outs in the sixth, when Paul Goldschmidt drove in the go-ahead run. After an intentional walk to Jason Kubel loaded the bases, Cody Ross lined a two-run single for a 7-4 lead.
"On a day our team did a great job of coming back. They did a great job of battling against one of the best pitchers in the game right now and I did a terrible job of holding that game close enough for us to come back and win it after two quick outs in the sixth inning," said Jackson.
Struggling Cubs reliever Carlos Marmol, who was booed, allowed three walks and an RBI single to Nieves in the eighth.
Cubs pitcher Jeff Samardzija accused Diamondbacks third base coach Matt Williams of staring him down Saturday night. Diamondbacks manager Kirk Gibson was irked. "He didn't get the win did he?" Gibson said. "Maybe next time he should just shut ... up and pitch." ... Marmol has walked six in his last 1 1/3 innings. ... Goldschmidt finished with two hits and three runs.