The 32-year-old right-hander appeared in 32 games for the St. Louis Cardinals this season before he was designated for assignment on July 27.
Holland pitched to a 7.92 earned-run average and a 50 ERA+ after signing with the Cards as a free agent (one year, $14 million) on March 31.
Now that he’s a member of the Nationals, they will only be on the hook for the veterans’ minimum (a prorated portion of $535,000), with St. Louis picking up the remaining amount of his salary.
From 2011 through 2015, Holland pitched to a 2.15 earned-run average in 294 appearances (301 innings, 145 saves) with a 191 ERA+, 2.12 FIP, and 1.090 WHIP with the Kansas City Royals.
He missed the entire 2016 season while working his way back from UCL reconstruction surgery, then signed a one-year, $13 million deal with Colorado, making 61 appearances with a league-leading 41 saves and a 3.61 ERA.