Diamondbacks 9, Marlins 1: David Peralta had three RBIs to help back six solid innings by Chase Anderson as host Arizona rolled in the opener of a three-game set.Martin Prado slugged a solo homer, Miguel Montero had a two-run double and Paul Goldschmidt an RBI double for the Diamondbacks, who were 5-for-10 with runners in scoring position. Anderson (6-4) snapped a personal four-game losing streak after letting up a run and tying a personal best with eight strikeouts. Tom Koehler (6-7) was reached for seven runs in a season-low three innings in his first start since coming off the paternity list for Miami. All-Star hopeful Casey McGehee had two hits and scored the Marlins' lone run on a sacrifice fly by Adeiny Hechavarria.Prado led off the second with his fourth of the year and two singles set up Peralta, who made it 3-0 with a double to left-center. Goldschmidt followed with a base hit and Montero doubled in a pair to cap the rally at five runs. Peralta's RBI triple highlighted a three-run fourth that put the Diamondbacks up 8-0. Anderson limited the damage to a run after loading the bases in the sixth and Didi Gregorius drove in a run with a triple in the seventh as Arizona improved to 37-21 at home against Miami.GAME NOTEBOOK: Diamondbacks RH Bronson Arroyo will need Tommy John surgery to repair a torn ulnar collateral ligament. ... Arizona had a total of 10 runs in its previous five games against Miami. ... McGehee, who leads the National League with 110 hits, is one of five in the NL in the running for the All-Star Game Final Vote.