Updated

As a pitcher, Zach Duke isn't a fan of the short, 315-foot left-field fence known as the Crawford Boxes at Minute Maid Park.

As a hitter, he has a different opinion.

Duke allowed three hits over seven innings and hit an opposite-field, three-run homer in his first game of the season, leading the Arizona Diamondbacks to an 11-3 victory over the Houston Astros on Saturday night.

"They're OK as long as I'm hitting," Duke said of the Crawford Boxes after his surprising first-game performance after returning from a broken hand in spring training.

Duke's first home run in seven major league seasons came in the Diamondbacks' four-run fourth inning, a shot over the left-field fence off Bud Norris (2-4).

"I got to first base and was looking for the ball and didn't see it," Duke said. "I was kind of shocked myself."

Arizona has won four in a row, 11 of 12 and 13 of its last 15.

Duke (1-0), acquired from Pittsburgh in a trade last November, missed Arizona's first 51 games while recovering from the injury. The Astros didn't get a hit until Clint Barmes' single to left with one out in the fourth.

And, Duke was just as impressive on the mound as at the plate.

Activated from the disabled list earlier Saturday, Duke didn't allow another runner until he walked Matt Downs in the sixth. Carlos Lee and Brett Wallace each singled in the seventh.

"Knock on wood, it's not easy," Arizona manager Kirk Gibson said. "Things are falling into place for us now. We're getting good contributions from everybody. I'll try to rest some guys tomorrow and keep everyone involved."

Duke thought he was ready to go, and it showed.

"I felt good in my rehab starts," Duke said. "I threw a lot of strikes and got a lot of groundballs. Thankfully, I was able to get into a rhythm early and I put it in my mind that I wasn't going to try to do too much and let the defense work.

"I'm really happy the way it worked out."

Duke, who walked one and struck out four, made two rehab assignments before making his first start of the season.

Miguel Montero had an RBI double in the fourth and an RBI hit in the eighth for Arizona.

After Montero's run-scoring hit in the eighth, Gerardo Parra hit a two-run homer off Jose Valdez. Stephen Drew drove in another run, and a sacrifice fly by Chris Young gave Arizona two more in the ninth inning.

The Diamondbacks got 13 hits and benefited from Duke's big return.

"It was lights out, nice to see," center fielder Chris Young said. "It was kind of unexpected, his first time out and all. You expect a guy coming out his first time to be feeling his way around a little bit.

"He kept guys off balance, put his pitches where he wanted them and came inside well. He really controlled the momentum of the game."

Lee broke up Arizona's shutout bid with a double to the left-field corner off Zach Kroenke in the Astros' three-run ninth.

"We haven't had one like that in a while," Astros manager Brad Mills said. "We've been playing really well and in all those games. That's probably the biggest shock.

"If we were able to make a couple of plays, Bud gets out of the inning with just a couple of runs and is able to go a little bit farther into the game."

Norris allowed seven hits, two earned runs, struck out four and walked two in five innings. He has lost his last three decisions.

The Diamondbacks took a 2-0 lead in the second inning when Drew and Montero each singled and Juan Miranda walked to load the bases with one out. Norris balked with Parra at the plate, forcing in the first run. Parra then hit a sacrifice fly to left field for the second run.

Notes: Duke had a four-hitter against the Astros on April 13, 2009. ... Earlier this season, the Diamondbacks lost six straight games by one run. They've now won seven in a row by one run, including Friday night's 7-6 victory after trailing 6-0 in the fourth inning. ... The Astros placed RHP Wandy Rodriguez on the 15-day disabled list and called up Jordan Lyles from Triple-A Oklahoma City. An MRI on Saturday revealed fluid buildup in Rodriguez's left elbow. Lyles will make his major league debut Tuesday against the Cubs.