The contract is worth $9 million, a source confirmed to ESPN's Jerry Crasnick.
The contract also features a club option worth $11 million that includes escalators which could increase the value of the deal to as much as $14 million, the source confirmed to Crasnick.
Saunders, 30, hit a career-high 24 home runs last season for the Blue Jays and was an All-Star for the first time. He was batting .298 when he won the All-Star final vote spot. His average slumped to .253 by the end of the season, and he finished with 124 hits and 57 RBIs in 140 games.
The British Columbia-born Saunders, who spent 10 years with the Seattle Mariners organization, played for Canada at the World Baseball Classic in 2013 and said, having cheered for the Blue Jays growing up, he understands the burden that comes with playing north of the border.
Saunders, who missed all but nine games in 2015 with a lingering left knee injury, was acquired for left-hander J.A. Happ in 2014 in a deal with the Mariners.