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.
NBC reportedly holds celebs hostage to Jimmy Fallon's show
Boston schools pull out free condoms over wrapping complaints