Gonzalez, who had an arbitration hearing scheduled for next week, had filed for $4.2 million, with the Astros countering at $3.25 million. Gonzalez's salary for 2017 is the midpoint of where the two sides filed.
The 27-year-old Gonzalez played in 141 games for Houston last season, including time at every infield position as well as left field and center field. Gonzalez hit .254/.293/.401 and set career highs in games, at-bats (484), runs (55), hits (123), doubles (26), triples (three), homers (13), RBIs (51), walks (22) and stolen bases (12), while starting at first base (74 games), third base (16 games), left field (14 games), second base (eight games) and shortstop (six games).
The deal with Gonzalez leaves the Astros with right-handed pitcher Collin McHugh as their lone remaining arbitration-eligible player. McHugh, who has an arbitration hearing set for Friday in St. Petersburg, Fla., is asking for $3.85 million. The team filed for $3.35 million.
The Astros have already settled on deals with five other arbitration-eligible players: right-handed starter Mike Fiers ($3.9 million), left-handed starter Dallas Keuchel ($9.15 million), All-Star relief pitcher Will Harris (two years, $5 million with an option for '19) and outfielders George Springer ($3.9 million) and Jake Marisnick ($1.1 million).
Brian McTaggart has covered the Astros since 2004, and for MLB.com since 2009. Follow @brianmctaggart on Twitter and listen to his podcast. This story was not subject to the approval of Major League Baseball or its clubs.