The deal also includes an option for 2024. Marquez is 1-0 in two starts this season and has allowed just one run.
Marquez had a franchise-best 230 strikeouts last season while finishing 14-11 with a 3.77 ERA.
The 24-year-old from Venezuela got the start in Game 3 of the NL Division Series against Milwaukee. He allowed two runs over five innings.
Marquez was acquired by Colorado on Jan. 28, 2016, along with reliever Jake McGee in a deal with the Tampa Bay Rays.
Source: Fox Sports