Desmond's first RBI single came in the top of the first and gave Washington a 1-0 lead. He got his second RBI in the eighth inning off Cubs reliever John Grabow, plating Nyjer Morgan to extend the Nationals' lead to 3-1.
Cristian Guzman drove in Washington's other run and Morgan crossed the plate twice.
Livan Hernandez (3-1) got the win after pitching seven-plus innings, allowing only a single run while scattering six hits. Matt Capps earned his MLB-best ninth save by hurling a scoreless ninth.
The Cubs were led by Geovany Soto, who stroked a pair of hits and collected Chicago's lone RBI.
Tom Gorzelanny (0-3) was the hard-luck loser, allowing two runs on five hits over seven innings.