LaRoche and Jayson Werth had four hits apiece for the NL East-leading Nationals, who opened a season-high 7 1/2-game advantage in the division. Second-place Atlanta lost to Colorado 6-0.
Desmond, Jesus Flores, Tyler Moore and Ryan Zimmerman also went deep. The six home runs matched a team record.
Every Nationals starter had at least one hit.
Washington right-hander Edwin Jackson (9-9) allowed four runs and seven hits in 5 2-3 innings.
Desmond hit a two-run drive off Chris Rusin (0-2) in the first for his 20th homer. The All-Star shortstop added a two-run double in Washington's three-run second.
Rusin, who was recalled from Double-A Tennessee before the game, was pulled after the first four batters reached in the second. He was charged with five runs and eight hits in the Cubs' shortest start of the season.
Chicago used seven pitchers, five in the first five innings.
LaRoche had a solo shot and Moore belted a two-run drive off Rafael Dolis in the fourth. Zimmerman led off the sixth with his 18th homer off Miguel Socolovich and LaRoche connected for his 27th homer against Jeff Beliveau in the eighth.
Alfonso Soriano hit his 26th homer and a two-run triple for the Cubs, who have dropped four straight. Starlin Castro drove in two runs.
Chicago has eight losing
NOTES: The Nationals also hit six home runs on May 20, 2011, in Baltimore. ... RHP Jaye Chapman, who also was recalled from Double-A Tennessee on Tuesday, Socolovich and C Anthony Recker made their Cubs debuts. Chicago has used 29 pitchers and 52 players, both franchise records. ... Washington activated RHP Chien-Ming Wang, who had been on the 15-day disabled list since July 1. The Nationals also recalled OF Corey Brown from Triple-A Syracuse. ... Washington RHP Christian Garcia made his major league debut, retiring the only batter he faced in the sixth inning. ... NASCAR driver Kurt Busch threw out a ceremonial first pitch. ... Washington LHP Gio Gonzalez (17-7, 3.10 ERA) will face RHP Chris Volstad (2-9, 6.06 ERA) when the series resumes on Wednesday.