Brantley, 31, who missed most of the 2016 and 2017 seasons with injuries, enjoyed an impressive bounce-back season with Cleveland in 2018, hitting .309 with 17 homers and 76 RBIs. He also scored 89 runs in 143 games and posted an .832 OPS.
Brantley, who was acquired by Cleveland in the CC Sabathia deal with Milwaukee in 2008, was one of the majors' best all-around players before his run of injury woes, capable of making a key play at the plate, on the bases or in the field.
He had a breakout season in 2014, batting .327 with 20 homers, 97 RBIs and 23 steals in 156 games. He was working on another good year in 2015 when he hurt his right shoulder diving for a ball in Minnesota.
The two-time All-Star needed two surgeries to fix his shoulder and played just 11 games in 2016, missing Cleveland's run to the World Series. He appeared to be back on track in 2017 and was a strong candidate to be the AL's Comeback Player of the Year when he injured his ankle while chasing a fly ball to left field during a game Aug. 8.
Brantley made a surprising return late that season and was selected for the playoff roster against the New York Yankees, but he went just 1-for-11 in the five-game series. Despite the string of injuries, Cleveland decided to pick up his $11.5 million option for 2018.
Indians president Chris Antonetti said in November that the team was interested in re-signing Brantley for 2019 as well but did not want to commit $17.9 million for one year.
The news of Brantley's agreement with the Astros was first reported by The Athletic.