The extension also includes a club option for the 2023 season.
According to multiple reports, the 2020 option is valued at $10.25 million and Carrasco will be paid $12 million each in 2021 and 2022. The 2023 option is worth $14 million, with a $3 million buyout.
The Indians had already exercised their $9.75 million option for 2019 on Oct. 30.
Carrasco, 31, finished 17-10 with a 3.38 ERA in 192 innings pitched last season. He tied for the major league lead with two complete games.
In 2017, he tied for the major league lead with 18 victories and finished fourth in American League Cy Young Award voting.
He has played his entire career with the Indians and has a 79-62 record and 3.71 ERA in 207 games spanning nine major league seasons.