WASHINGTON -- During a lengthy stretch when he pitched well but received scant offensive support, Washington pitcher Gio Gonzalez said and did all the right things.
Tuesday night his patience was rewarded.
Adam LaRoche hit a three-run homer and Gonzalez won for the first time since May 5 as the Nationals defeated the Diamondbacks 7-5.
The Nationals led 6-0 after five innings and snapped a two-game skid as they reached double figures in hits for the second game in a row.
"Seeing these guys come alive, swing the bat, it's always a nice thing to see, especially when you start getting in a rhythm like that," he said.
Gonzalez (4-3) went 6 1/3 innings, giving up two runs on nine hits while striking out four and walking one.
He said pitching with the big lead for a change didn't alter his approach.
"No, you still have to go out there and attack," Gonzalez said. "The team gives you a big lead like that you want to get them back in there, especially when they're swinging it real hot."
Jayson Werth, back in the lineup after leaving Sunday's game with a groin strain, added a double, RBI-single and two walks for Washington.
Martin Prado homered and Paul Goldschmidt had three hits for Arizona. Diamondbacks second baseman Aaron Hill, playing his first game since going on the disabled list April 14 with a broken left hand, went 2 for 4 with a double, single and walk.
The NL West-leading Diamondbacks have lost two straight.
Washington matched its season high for runs in an inning with the five-run third off Arizona starter Trevor Cahill (3-9).
LaRoche then fell behind Cahill 0-2, but hit a change-up into the bullpen in left-center for a three-run homer to make it 5-0.
"As a team, I think we're looking better," LaRoche said. "We get 11 hits tonight and score some runs, so we're slowly getting closer to what this offense can do."
The Washington first baseman has hit safely in 19 consecutive games at Nationals Park, going 30 for 69, with two doubles, two triples, four homers, 16 RBIs, and 17 runs scored.
Washington added a run in the fifth when Ian Desmond's sacrifice fly scored Werth.
"I thought we were a little more aggressive, which I liked," Nationals manager Davey Johnson said.
Cahill (3-9), who left in the second inning of his last start after being struck by a line drive, lost his fifth straight. He allowed six earned runs on eight hits in five innings, while walking two and striking out five as his ERA increased to 8.80 in the month of June.
"I don't know if he's trying to change his delivery or what. He changes from pitch to pitch," Montero, the catcher, said. "Sometimes he pitches like (Brad) Ziegler, sometimes he's over the top, sometimes he's a little bit lower then, so it's hard.
"He's a guy that doesn't need to do too much. He just needs to grab the ball and just throw a good sinker down the middle and let it do the job."
The Diamondbacks got on the board in the sixth when Hill doubled, went to third on a single by Goldschmidt and scored on a Montero single.
Prado led off the eighth with a homer off Tyler Clippard to make it 6-4.
Washington OF Bryce Harper (left knee bursitis) began a rehab assignment at Single-A Potomac, going 1 for 1 with a double, walk and run scored. ... Nationals 3B Ryan Zimmerman didn't start, but he pinch hit in the seventh and popped out. Manager Davey Johnson said Zimmerman had been feeling some discomfort in his surgically repaired right shoulder and Johnson opted to give him an extra day to rest following Monday's off day. ... To make room for Hill, the Diamondbacks optioned left-hander Joe Paterson to Triple-A Reno. ... Arizona's Eric Hinske's suspension for his role in the June 11 bench-clearing brawl with the Los Angeles Dodgers was reduced from five games to one. He dropped his appeal and served the suspension Tuesday night. ... Washington placed RHP Dan Haren on the 15-day DL, retroactive to Sunday, with right shoulder inflammation and recalled 1B-OF Tyler Moore from Triple-A Syracuse. ... Arizona LHP Wade Miley (4-6, 4.70) opposes RHP Jordan Zimmermann (10-3, 2.26) Wednesday.