He will earn US$3 million in 2014 and $5 million in 2015.
The 29-year-old hit .300 with a career-high 13 home runs in 89 games for the Chicago Cubs last season. He also had 34 runs batted in.
Navarro has struggled with injuries throughout his career. He dealt with oblique and ankle injuries over the past three years, playing less than 89 games every season since 2009.
The 10-year veteran from Venezuela has also played for the Tampa Bay Rays, New York Yankees, Los Angeles Dodgers and Cincinnati Reds.
Navarro was signed as an amateur free agent by the Yankees in 2000. The five-foot-nine, 205 pound switch-hitter has recorded a career .251 average, 54 home runs and 243 RBIs.
As part of the contract, Navarro will make a donation to the Jays Care Foundation.
The reported acquisition raises questions about the future of incumbent catcher J.P. Arencibia.
Arencibia had a .194 batting average last season with 21 home runs and 55 RBIs. The 27-year-old struck out 148 times in 2013, 15th most in Major League Baseball.