In a statement released by the team, Kansas City said it signed Gordon to a one-year contract for the 2020 season. The club didn't disclose financial terms of the deal, but league sources told MLB Media the agreement is worth $4 million.
Gordon, who has spent his entire career with the Royals organization, became a free agent this off-season when Kansas City declined its half of his $23 million mutual option for 2020. The Royals initially signed Gordon to a four-year, $72 million contract in January 2016.
In the 2019 campaign, Gordon had a .266 batting average with 13 home runs and 76 RBIs for the Royals, who topped 100 losses for the second consecutive season.
Gordon, 35, is a three-time All-Star choice and seven-time Gold Glove Award winner. The outfielder won a World Series title with the Royals in 2015.
The Royals selected Gordon with the No. 2 overall pick in the 2005 MLB Draft. He has a career batting average of .258 with 186 homers and 738 RBIs.
Kansas City right-hander Heath Fillmyer was designated for assignment in a corresponding roster move.