Drew hit the ball in just the right spot -- off an outfield overhang -- for the second successive opening day inside-the-park home run for major league baseball, a year after Emilio Bonifacio hit one for the Florida Marlins.
Haren (1-0) allowed one run and struck out four without a walk in the second opening day start of his career, first in three seasons with Arizona. He threw 20 of 24 first-pitch strikes and had a three-ball count against only one batter.
"I just really attacked the zone," he said. "I was throwing first-pitch strikes, I was going right at guys."
Arizona manager A.J. Hinch said Haren is as good as anyone in the game.
"His name should be mentioned up there with the likes of Roy Halladay and [C.C.] Sabathia, those guys that are perennial award winners," Hinch said. "He hasn't got a ton of attention."
Haren retired 19 of the first 20 batters he faced, including 15 before Gonzalez doubled with one out in the seventh. Chase Headley's two-out RBI single ended the shutout.
"We couldn't really get anything going against him," Padres manager Bud Black said. "He threw strikes, he got ahead of us and made pitches. We didn't have a lot of good swings against him and he pitched really well."
Garland, in his first opening day start, gave up five hits in four innings, walking two and striking out four. A starter for Arizona last season before being traded to the Los Angeles Dodgers, he is 4-7 at Chase Field.
Garland said the errors added pressure, "but it's part of the game."
"It's something you have to live with and battle on," he said. "I still had a chance to get us out of those innings and I couldn't make the pitch when it counted."
Drew's was the sixth inside-the-park home run in the franchise's 13-year history and the fifth by any player at Chase Field.
"It was just a good bounce for me," he said. "It's unexpected, you don't think about it, then you see it do that and nobody's near the ball, you've got a chance to score. It's pretty neat."
With two outs in the fourth, he hit Garland's 2-2 pitch high and deep. The ball caromed off the balcony over the right-center wall and far away from Padres' center fielder Tony Gwynn. By the time the left fielder Blanks chased down the ball and threw it to the infield, Drew was halfway between third and home.
"You would think it would have hit the outside part of the overhang, but it didn't," Gwynn said. "It must have hit a pole on the inside and just kicked to the left. Really, there's no defense for it once it kicks off like that, especially a guy that can run like Steve can."
Haren scored ahead of him from first after reaching on the third baseman Headley's error.
The Diamondbacks got two unearned runs in the first. Drew singled, then Justin Upton hit what should have been an ideal double-play bouncer just to the left of second base. But shortstop Everth Cabrera bobbled the ball and both runners were safe. Reynolds walked to load the bases, then Miguel Montero lined a two-run single to right.
In the third, Upton singled with one out, then Adam LaRoche struck out swinging for the second time. That brought up Reynolds who, coming off a 44-home run season, hit the first pitch high and into the left field seats.
Matt Stairs appeared as a pinch hitter for the Padres in the eighth inning to appear for his 12th team, tying the major league record for a non-pitcher held by Deacon McGuire.
- Recently retired Arizona Cardinals quarterback Kurt Warner threw out the first pitch.
- The last inside-the-park homer for Arizona was by Kelly Stinnett on Aug. 29, 2005 at San Diego. The last one at Chase Field was by the Cubs' Derrek Lee on Aug. 26, 2007.
- The game was announced as a sellout of 49,192, although there was a smattering of empty seats in the upper deck.
- Haren started last season 0-3 but with a 1.89 ERA.