LaRoche had an RBI double during a three-run third and hit a two-run homer in the fifth, his 25th of the season.
The Diamondbacks, who will finish with the second-worst record in the National League ahead of only Pittsburgh, snapped a three-game skid.
Zach Kroenke (1-0), who had two relief appearances since being called up from the minors, made his first major league start and won his first game with a five-inning effort. He gave up a run on two hits before the bull pen struggled to hold the lead.
Esmerling Vasquez gave up three runs in the sixth without retiring a batter, but four more relievers combined to allow only one additional score.
Juan Gutierrez walked one and struck out two in the ninth for his 15th save.
John Ely (4-10) surrendered seven runs on seven hits in 4 2/3 innings to take the loss. Los Angeles had won three in a row.