The Nationals ended a five-game losing streak and handed Henry Rodriguez his first win of the season. Rodriguez blanked Arizona in the top of the ninth in his first appearance since suffering his first blown save of the year.
J.J. Putz came on for Arizona in the bottom of the ninth to try to nail down the victory, but gave up a lead-off double to Bryce Harper.
Desmond, who had one hit in four at-bats to that point, hit a 1-1 pitch over the wall in left-center for the victory. Arizona had won its previous three games.
Rodriguez (1-1) allowed a hit and struck out two in his one inning of work.
Arizona took a 4-3 lead in the sixth on a run-scoring double from Paul Goldschmidt and an RBI single from Ryan Roberts.