MLB.com, ESPN and The Athletic reported the contract includes a mutual option for a second season. The deal will pay Thames $3 million in 2020 and $4 million, if exercised, in 2021. The contract also includes a $1 million buyout for the 2021 option.
Thames, 33, became a free agent in November when Milwaukee declined his $7.5 million option for 2020.
Thames hit .247 and recorded 25 home runs and 61 RBIs in 149 games last season for the Brewers. He is a career .244 hitter with 93 home runs in 564 games. Thames first suited up for the Toronto Blue Jays and Seattle Mariners after making his Major League Baseball debut in 2011.
After briefly playing in the minor leagues for Baltimore and Houston, Thames took an MLB hiatus in 2014 and played three seasons internationally, during which he hit 102 home runs for the NC Dinos of the Korean Baseball Organization.
The MLB champion Nationals could opt to rotate Thames in 2020 with free agent Ryan Zimmerman and Howie Kendrick at first base. Kendrick was the MVP of the 2019 National League Championship Series after posting a .333 average with four doubles and four RBIs in Washington's four-game sweep of the St. Louis Cardinals.
The Nationals declined a 2020 option for first baseman Matt Adams in November.
Washington has scheduled its first full-squad spring training workout on Feb. 18 in West Palm Beach, Fla.