PHOENIX -- Yusmeiro Petit didn't find out until Monday that he'd be Arizona's starting pitcher on Tuesday night.
Jackson's shot off starter Jason Marquis in the first put Arizona up 1-0, and his sliding score from second on Mark Reynolds' single put the Diamondbacks ahead 2-0 in the third. Stephen Drew doubled in the Diamondbacks' third run in the fourth.
The Diamondbacks added two off left-hander Sean Marshall in the seventh. Drew beat out a double play, advanced to third, then scored on a wild pitch. Hudson followed with his first homer since June 10 -- 135 at bats.
But after Jackson's bases-loaded double in Arizona's four-run eighth, reliever Kevin Hart hit Hudson in the right ankle, sending the Diamondbacks' second baseman to the ground in pain. Hudson had to be helped from the field.
"He's all right," a relieved manager Bob Melvin said. "We took x-rays, no fracture, no crack. It's above the foot, kind of lower ankle on the side. It smarted, so we'll see if he's able to play tomorrow."
Three Cubs' errors in the last two innings helped Arizona turn it into a rout.
The Cubs have lost five of six and scored no more than two runs in each of those losses. They are 1-4 since the All-Star break.
"Sometimes your luck is just not there," Ward said. "Maybe we need some holy water or something. I don't know."
"It's only July. I don't see where you should be pressing," Cubs manager Lou Piniella said. "We're just not hitting with men on base, and when the middle part of your lineup's not driving in runs, it becomes a little bit of a scuffle. That's exactly what's happened."
"Nobody's feeling sorry for us," Piniella said, "so we're just going to have to just play our way out of this thing."
The victory clinched the series and brought Arizona back to .500 (50-50). With Los Angeles losing 10-1 at Colorado, the Diamondbacks have a one-game lead over the Dodgers in the NL West. The Cubs, still with the NL's best record at 58-42, are just one game up on Milwaukee in the NL Central after the Brewers won at St. Louis 4-3.
Arizona newcomer Jon Rauch, acquired earlier in the day in a trade with Washington, pitched a scoreless ninth.
Petit (1-1) gave up a run on three in five innings, striking out three and walking four. He's filling a spot starter role and got the nod after Melvin used Micah Owings in relief in Arizona's 2-0 victory on Monday.
"Phenomenal," Jackson said. "For him to come in and do that on short notice. When was his last start? It's a phenomenal job, especially against an offense like that. You never feel three, four, five, six, seven, eight runs is enough against those guys because they can strike back at any time."
It was Petit's second big-league start of the season. He gave up a run in six innings against Milwaukee on July 2. He has nine relief appearances.
Marquis (6-6) allowed three runs on five hits with three strikeouts, two walks and a hit batter. He is a hard-luck 0-3 in his last four starts.
The Cubs ended a 12-inning scoring drought against Arizona in the fourth. Petit walked DeRosa, then with two outs Mike Fontenot tripled.
- Piniella canceled batting practice Tuesday and Wednesday, saying maybe it would help the team's slumbering offense.
- The Diamondbacks are 18-3 when they hit at least two home runs in a game.
- Arizona purchased the contract of INF Jamie D'Antona, who singled in the seventh in his first major-league plate appearance. He was batting .367 for Triple-A Tucson.