Two home runs in the ninth inning by the Mets still left them short, thus extending their losing streak to six games.
Zimmermann (7-6) was removed after throwing 95 pitches. He gave up four hits and struck out four.
LaRoche put Washington in front with his home run in the sixth and Stephen Lombardozzi added a two-run double for the Nationals in the seventh.
Washington, cruising along with the most victories in the National League, won its second straight.
Despite giving up the two long balls, Clippard registered his 15th save.
The loss went to Chris Young (2-4), who battled Zimmermann on even terms until LaRoche hit his home run.