The 27-year-old first baseman was eligible for arbitration, but the new contract will allow the Reds to avoid that. Votto, meanwhile, gets a multiyear deal without delaying his free-agent eligibility in 2014.
Votto made $550,000 in 2010, his third full season in the majors, when he broke out with 37 home runs, 113 RBIs and a .324 batting average.
The new agreement was first reported by MLB.com. Negotiations were initially reported by SI.com.