The sides agreed on the deal earlier this week at the baseball winter meetings, pending a physical. Loney can make an additional $1 million in performance bonuses.
Tampa Bay is hoping the 28-year-old Loney can have a bounce-back year. He started last season with the Los Angeles Dodgers, then was traded to Boston in July as part of the deal that sent Adrian Gonzalez, Carl Crawford and Josh Beckett to Los Angeles.
Loney hit a combined .249 with six homers and 41 RBIs for the Dodgers and Red Sox. He had 90 RBIs in 2008 and 2009 and 88 RBIs in 2010 for Los Angeles, but his production has dropped since then.
Carlos Pena was Tampa Bay's regular first baseman last season and hit only .197 with 19 homers and 61 RBIs.