Trailing 4-1 in the fifth, National League East-leading Washington erupted for five runs and grabbed control of the contest.
Steve Lombardozzi started the rally with a lead-off single against Diamondbacks starter Wade Miley (12-8) and Jayson Werth doubled for the first run.
After Danny Espinoza reached on third baseman Chris Johnson's error, Zimmerman singled both runners home to forge a 4-4 tie.
Michael Morse followed with a double, sending Zimmerman home with the go-ahead tally, and later scored what turned out to be the decisive run on a Jesus Flores single to complete the rally.
Dog comes home gnawing on human bone
Julius Randle breaks leg during NBA debut