Washington won its fifth in a row despite being outhit 10-9.
The Nationals and Cubs were locked in a 2-2 battle through three, but Washington moved in front when Adam LaRoche singled to lead off the fourth against Jeff Samardzija (1-5) and Desmond followed with a home run to left.
Ross Detwiler (2-3) gave up eight hits in 6 2/3 innings, but limited the Cubs to two runs to get the win. He did not walk a batter and struck out two.
Desmond also scored three times, the first of those runs coming when Kurt Suzuki delivered a two-RBI double in the first.