MLB.com’s Mark Feinsand was the first to report the agreement.
The news comes a couple hours after the Blue Jays agreed to a contract with veteran reliever Bud Norris.
MLB Network’s Jon Heyman reports the deal could earn Buchholz up to $6 million if incentives are reached.
Buchholz, 34, made 16 starts for the Arizona Diamondbacks last season, his 12th in the majors. In those 16 starts, he posted a 7-2 record with a 2.01 ERA and 82 strikeouts.
Buchholz broke into the majors in 2007 as a member of the Red Sox and he spent his first 10 MLB seasons in Boston. The Red Sox traded Buchholz to the Philadelphia Phillies in 2017 but after making only two starts in April, he underwent elbow surgery and missed the rest of the season.
The Blue Jays rotation currently consists of Marcus Stroman, Aaron Sanchez, plus off-season acquisitions Matt Shoemaker and Clayton Richard. Adding Buchholz as the fifth starter likely means youngsters like Ryan Borucki may not break camp with the big club.