A person familiar with the negotiations said the free agent outfielder and the Blue Jays have reached agreement on a two-year contract worth $16 million. The deal is pending a physical, the person told The Associated Press on condition of anonymity because there was no official announcement.
ESPN Deportes first reported the agreement Friday.
Toronto has not reached the playoffs since winning its second straight World Series in 1993, and has often been stuck behind big spenders in the AL East. After going 73-89 this year, the Blue Jays have made quite a splash in the offseason.
Cabrera later asked to be removed from consideration for the NL batting title, feeling it would be a tainted crown -- a rule change in the number of required plate appearances for the champion let Giants teammate and eventual NL MVP Buster Posey win at .336.
The Giants didn't put Cabrera on their postseason roster on the way to winning the World Series, even after he became eligible at the start of the NL championship series.
Cabrera hit 11 home runs with 60 RBIs in his lone year with San Francisco. He hit .305 with 18 homers and 87 RBIs the previous season with Kansas City, then was traded to the Giants.
Cabrera made his major league debut in 2005 with the New York Yankees and stayed with them until being traded to Atlanta after the 2009 season.
Toronto averaged 4.42 runs per game last season, slightly below the AL average.
Cabrera is friendly with Encarnacion and Bautista, another reason he felt comfortable joining the Blue Jays.