The division-leading Diamondbacks lost their third in a row, leaving the potential tying run on second in the ninth inning.
Arizona scored their runs in the first and Washington eventually moved into a tie thanks to an RBI double by Zimmerman in the first and a home run from Tyler Moore in the fourth.
Singles by Denard Span and Anthony Rendon put runners on first and third in the Washington fifth and Span came home when Zimmerman hit a grounder to short that started a double play.
The win went to starter Jordan Zimmermann (11-3), who became the first National League pitcher to reach 11 victories. He lasted seven innings, giving up two runs on three hits.
Rafael Soriano came on in the ninth and put runners on first and second before getting A.J. Pollock on an infield popup to end the game. It was Soriano's 21st save.
Wade Miley (4-7) allowed all three Washington runs in seven innings to take the loss.