The agreement was announced hours before the defending AL champions started their first-round playoff matchup against Minnesota on Tuesday, an odd time to reach a contract for a future season.
Gurriel's 2020 contract called for an $8.3 million salary and wound up being worth $3,074,074 prorated.
His new deal includes a $6.5 million salary for 2021 and an $8 million club option for 2021 with a $500,000 buyout. Gurriel can earn $2 million in performance bonuses each year based on plate appearances: $250,000 each for 300 and 350; $350,000 apiece for 400 and 450; and $400,000 each for 500 and 550.
He also would get $50,000 for becoming an All-Star, $50,000 for League Championship Series MVP, $100,000 for Word Series MVP, $200,000 for league MVP, $100,000 for second and $50,000 for third. There is a $50,000 bonus for Gold Glove and another $50,000 for Silver Slugger.
Gurriel would have been eligible for free agency under a provision in his 2020 contract, even though he does not have the six years of MLB service usually required. His new deal includes the same provision.
He hit .232 with six homers, 12 and 22 RBIs in 57 games during the pandemic-shortened season, down from a career-best .298 with 31 homers and 104 RBIs in 2019. He helped Houston reach the playoffs for the fourth straight year.
In five seasons in Houston that followed a stellar career in Cuba, the 36-year-old has hit .287 with 71 homers and 301 RBIs.
Astros' pitcher to undergo Tommy John Surgery
Spotted: Houston Astros' Yuli Gurriel stops for photo at Walmart
Yuli Gurriel's journey from Cuba to the World Series