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.
Earlier this week, the Blue Jays got All-Star shortstop Jose Reyes and pitchers Josh Johnson and Mark Buehrle from the Miami Marlins in a blockbuster trade that could involve a dozen players.
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.
The 28-year-old Cabrera was leading the National League in hitting at .346 for the San Francisco Giants when he drew a 50-game suspension Aug. 15 for a positive testosterone test.
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.
The Blue Jays had their share of sluggers—Edwin Encarnacion hit 42 homers and two-time home run champ Jose Bautista hit 27—but didn't score at an exceptional rate.
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.