Haren (10-14) pitched seven scoreless innings, scattering four hits and a walk while striking out five. He placed 77-of-107 pitches for strikes.
Drew Storen posted a 1-2-3 eighth and Rafael Soriano finished up with his 43rd save despite allowing a hit and a walk in the ninth as the Nationals clinched their season-ending, three-game series.
Brandon McCarthy (5-11) allowed two runs on five hits in over seven innings for the Diamondbacks.
Senate Democrats to pull all-nighter on climate change
Interpol investigating stolen passports on missing flight