The deal will pay Frazier $4.5 million in 2015, including a signing bonus, and $7.5 million in 2016.
Frazier, who turns 29 on Thursday, is a .258 career hitter with a .775 OPS in parts of four seasons with Cincinnati. He posted a career-high 29 homers and 80 RBIs in 157 games last season.
Frazier avoided a salary arbitration hearing with his new deal. He had been seeking $5.7 million in arbitration, while the Reds had countered with an offer of $3.9 million.
The new contract for Frazier leaves closer Aroldis Chapman as the only Cincinnati player still scheduled for a salary arbitration hearing.