The Diamondbacks came back from a 4-1 deficit to force extra innings on Miguel Montero's home run in the ninth, only to lose an inning later.
HOUSTON -- Arizona's pitchers can't seem to keep opponents from getting extra-base hits.
After starter Wade Miley had extended his National League lead for extra-base hits allowed, reliever J.J. Putz (1-1) gave up a leadoff homer to Chris Carter in the bottom of the 10th inning as the Houston Astros beat the Diamondbacks 5-4 on Thursday night.
Arizona manager Kirk Gibson said the Diamondbacks fell into a hole early because of Miley's inability to keep the ball on the ground.
"He's just got to make different pitches in different situations and keep the ball in the ballpark," Gibson said. "He didn't do a very good job of that tonight. Three home runs sunk us."
Miley allowed two of the home runs, bringing his June total to six in just three starts. He allowed nine homers in his previous 11 starts in 2014.
Carlos Corporan had a two-run home run and Jon Singleton homered and drove in two runs for the Astros, who have won six of their last eight games.
Tony Sipp (1-0) struck out one in a scoreless 10th for the win.
Singleton drove in a run with a sacrifice fly in the first inning and broke a 1-all tie with his solo shot to right field in the third. Corporan extended Houston's lead to 4-1 with his home run to left field in the fourth.
Chris Owings hit a solo homer to get Arizona within 4-3 in the seventh inning.
Houston second baseman Jose Altuve was hit on the right hand by a pitch in the seventh inning. X-rays were negative and he is listed as day to day.
David Peralta singled for Arizona's first hit with one out in the third inning. Ender Inciarte reached on an error by Altuve that left Peralta at third and he scored on a sacrifice fly by Didi Gregorius to tie it at 1-1.
Enciarte was shaken up in that inning when he took a knee to the head from Jonathan Villar while stealing second base. He remained in the game but was replaced by Cody Ross in the bottom of the sixth as a precaution.
George Springer had two nifty defensive plays. The first one came when he sprinted from right field to center and dived to make the catch on a ball hit by Owings for the first out of the fifth.
Springer made another excellent diving catch on a fly ball by Martin Prado to start a double play to end the eighth. Paul Goldschimdt was on second and had almost reached home when Springer caught it, allowing Villar to step on second base to end the inning.
The pivotal play put an end to a potential Arizona rally.
"I saw it off the bat, paused for a second and didn't think there was any way he'd be able to catch it," Goldschmidt said. "I was wrong. To get a good read, cover so much ground and dive on it, with potentially the game on the line, he made an unbelievable play."
The Astros celebrated "Drake Day" on Thursday with the Grammy Award-winning rapper attending the game and talking to students from the Astros Urban Youth Academy before the game. Each player came up to bat to music by the rapper and Singleton chose the tune "All Me."
Seconds after the music trailed off with one out in the third inning, Singleton caught all of a 90 mph fastball from Miley and launched a towering homer into the second deck in right field to give Houston a 2-1 lead.
Astros starter Scott Feldman plunked Gregorius to start the sixth inning and Goldschmidt hit a double with one out, before Gregorius scored on a wild pitch with two outs to cut the lead to 4-2.
Miley yielded seven hits and four runs with eight strikeouts in five innings.