Petit (2-5) allowed only one hit, a single by Ronny Cedeno, in eight innings. The right-hander was bidding to become the first Diamondbacks pitcher to throw a no-hitter since Randy Johnson threw a perfect game May 18, 2004, against Atlanta.
The 24-year-old Venezuelan earned his first win of the season in his previous start when he gave up four hits in six scoreless innings against Philadelphia.
Ryan Roberts had four hits, including two homers and three RBI for the Diamondbacks, who have won five of their last six games. Chris Young had two-run homer and Mark Reynolds was 3-for-5 with an RBI.
Zach Duke (9-10) took the loss after giving up five runs and nine hits in five innings.
Gal Gadot cast as Wonder Woman for 'Batman vs. Superman'
Exploding whale video goes viral on Internet