The Boston Globe reported the deal is worth $10 million.
Gomes, 32, batted .262 in 99 games with 18 homers and 47 runs batted in last season while playing a key role in the Oakland Athletics' improbable run to the American League West crown.
The California native set a career high with a .377 on-base percentage, including a .404 mark after the All-Star Game break.
He also proved invaluable in the clutch, leading the major leagues with a .480 batting average with two outs and runners in scoring position.
Gomes has posted a .244 career average with 136 homers and 411 RBI over 10 years with Tampa Bay, Cincinnati, Washington and Oakland.