The Pirates sent minor leaguers Keon Broxton, an outfielder, and Trey Supak, a pitcher, to Milwaukee to complete the deal announced Thursday night.
The 27-year-old Rogers hit .296 with four homers and 16 RBIs in 86 games in 2015. He hit .265 with two homers and eight RBIs in 58 plate appearances as a pinch hitter.
Rogers appeared to be the favorite to get the bulk of starts at first base for the Brewers next season after they dealt Adam Lind to Seattle last week at the winter meetings.
Instead, Rogers will compete with Michael Morse for time at first base after Pedro Alvarez was not offered a contract. Rogers made 22 starts at first last season and a game each at third base and left field.
The 25-year-old Broxton was added to the Brewers' 40-man roster. He hit .273 with 10 homers and 39 RBIs between Double-A and Triple-A last year.
The 19-year-old Supak pitched at the Rookie level last year.