The Reds made the move Tuesday. He grew up in Cincinnati and will make $2,525,000 this season.
An offseason trade that sent star second baseman Brandon Phillips opened the way for Jose Peraza to play the position every day this season in Cincinnati. The 26-year-old Gennett also has played in the outfield.
Gennett played four seasons with Milwaukee. He batted .263 with a career-high 14 homers and 56 RBIs last season, but the Brewers decided to go with Jonathan Villar at second base this season. The Reds also optioned Tim Adleman and Sal Romano -- who had been competing for spots in the rotation -- to Triple-A Louisville.