Desmond's 12th homer of the season ended a 2-for-35 skid. His double to left leading off the fourth inning gave him more extra bases hits than he had produced in his previous nine games. He advanced to third on Wilson Ramos' single and scored on a fielder's choice by Michael Taylor.
Joe Ross (3-3) pitched six solid innings just giving up a solo homer to Jarrod Saltamacchia in the fifth inning. The rookie pitcher gave up five hits and struck out seven.
The victory enabled the struggling Nats, who had lost four of their past five games, to split the series and move within 1 1/2 games of the idle front-running New York Mets in the NL East.
Jeremy Hellickson (7-8) gave up four runs and five hits in 4 2-3 innings.
Clint Robinson put the game away with a three-run homer in the eighth inning.
The Nats recalled Blake Treinen from Triple-A Syracuse and sent fellow right handed reliever Aaron Barrett to the Chiefs. Treinen, who was demoted after surrendering four runs and five hits in just 1/3 of an inning against the Los Angeles Dodgers on July 19, allowed no runs and six hits over 12 innings in five games for Syracuse. Treinen pitched a scoreless ninth on Thursday.
Diamondbacks All-Star first baseman Paul Goldschmidt didn't start on Thursday for the first time since May 21. He broke a 0-for-15 slump with three hits on Wednesday. Saltalamacchia started at first for the first time since 2012.
Diamondbacks : RHP Chase Anderson (triceps) will be activated from the DL in time to make tomorrow's start against visiting Cincinnati.
Nationals: RHP Stephen Strasburg (oblique) will likely be activated from the disabled list to make Saturday's start against visiting Colorado.
Diamondbacks: Anderson (4-4, 4.37) makes his first start since going on the disabled list on July 19 with an inflamed right triceps. Anderson pitched four scoreless innings in his lone rehab start.
Nationals: RHP Jordan Zimmermann (8-7, 3.54) allowed five runs and six hits in six innings in his last start. He's 0-2, 5.08 in four starts since the All-Star break.