Financial terms were not disclosed, but a source told ESPN’s Jesse Rogers the contract is worth $38 million.
Chatwood, 27, was 8-15 with a 4.69 ERA in 33 appearances (25 starts) for the Colorado Rockies last season. His 15 losses tied for the National League lead.
Chatwood missed the 2015 season following Tommy John surgery and returned in 2016 with his best season, also with the Rockies, when he finished 12-9 with a 3.87 ERA in 27 starts.
He is 40-46 with a 4.31 ERA in six major league seasons. He also has two saves in his career, including one last season.