Carlos Lee hit a three-run homer in Houston's four-run eighth inning and the Astros rallied to beat the Diamondbacks 6-5 on Saturday night.
Jeff Keppinger kept the eighth alive with a base hit and moved to third on Hunter Pence's double before Lee drove Heilman's next pitch out to left for his 20th homer.
Heilman (5-6) was charged with four runs and four hits, wasting a strong outing by Joe Saunders.
Mike Hampton made his Arizona debut in the ninth, getting Bourn to ground out to shortstop for the last out of the inning. The Diamondbacks promoted the veteran left-hander from Triple-A Reno on Friday.
Saunders allowed two runs and three hits in seven innings. He also singled in Miguel Montero in the second for his first career hit and added another single in the sixth before swiping second for his first steal, and Arizona's first theft by a pitcher since Shawn Estes on May 27, 2005.
Adam LaRoche hit a run-scoring single in the first for Arizona, giving him 90 RBIs on the season — matching a career best.
The Diamondbacks had won four straight.
NOTES: Diamondbacks OF Justin Upton missed his third straight game because of left shoulder irritation. Manager Kirk Gibson said he hopes Upton can play Sunday in the series finale. Upton said he still felt some discomfort in his swing, which was how he injured the shoulder during a game on Aug. 30. ... Police said a small group of about 15 to 20 people held signs and chanted outside Chase Field in protest of the state's controversial immigration law. The protest coincided with the team's Hispanic Heritage Day promotion. The club re-issued a statement acknowledging that Diamondbacks co-owner Ken Kendrick has donated to Republican political candidates in the past, but Kendrick personally opposes the law. The statement also said the Diamondbacks "have never supported SB 1070" nor ever taken political stances.