The deal was first reported on ESPN's Spanish website, which cited an anonymous source.
Finalization of the deal hinges on Cabrera passing a physical.
Cabrera batted .346 with 11 home runs and 60 RBIs with the San Francisco Giants last season. But he was suspended for a positive testosterone test on Aug. 15 — a month after he was the all-star game MVP — and missed the final 50 games of the season.
He is five hits shy of 1,000 in his big league career.
Cabrera's suspension brought him through the first five games of the post-season, but the Giants didn't bring him back after his reinstatement.
The 28-year-old Cabrera was on track to the win the National League batting championship, but he asked to be disqualified for "an award that would widely been seen as tainted," he said in September. The MLB and the players' association reached a deal on a one-season-only change in the rule governing the individual batting, slugging and on-base percentage champions.
Flashing bright orange spikes at the all-star game, Cabrera singled and hit a two-run homer off Texas pitcher Matt Harrison in the National League's 8-0 win, earning MVP honours for the game and securing homefield advantage for the World Series.
The signing would be the latest big move in a busy week for the Blue Jays, who earlier this week agreed to a blockbuster trade with the Miami Marlins that will bring shortstop Jose Reyes and pitchers Josh Johnson and Mark Buehrle to Toronto. That deal is pending MLB's approval.
Cabrera was signed by the New York Yankees in 2001 at the age of 17 and made his Major League debut with New York in 2005. He also played for the Atlanta Braves and Kansas City Royals.