The switch-hitting Cabrera batted .260 in 131 games last season with the Texas Rangers and Nationals. The 13-year veteran returned for his second stint with Washington in early August, less than two days after being released by the Rangers, who turned to youth.
Cabrera, 34, played a key role in Washington's World Series title run by giving the Nationals infield depth and another tough batter with runners in scoring position. He hit .323 with six homers, 40 RBIs and a .969 OPS in 38 regular-season games with the team.
Cabrera appeared in 49 games for Washington in 2014 after being acquired from the Cleveland Indians at the trade deadline.
He split the 2018 season with the New York Mets and Philadelphia Phillies. After playing 90 games at second base for the Mets, Cabrera was traded in July 2018 to Philadelphia, where he also played shortstop and third base. In 147 games overall, he hit .262 with 23 homers and 75 RBIs, his most since 2011, when he had career highs of 25 homers and 92 RBIs in the first of his two consecutive All-Star seasons as Cleveland's shortstop.
Cabrera is a .268 career hitter with the Indians (2007-14), Nationals, Tampa Bay Rays (2015), Mets (2016-18), Phillies and Rangers.
MLB Network first reported that the Nationals and Cabrera had reached an agreement.