Financial terms were not disclosed, but MLB.com is reporting the deal is worth $21 million.
Springer, 30, had been seeking $22.5 million in arbitration while the Astros had been offering $17.5 million.
Springer was selected as an All-Star for the third straight season in 2019, setting career highs in batting average (.292), home runs (39), and RBIs (96).
He has hit at least 20 home runs in five of his six seasons for the Astros and was named the 2017 World Series MVP when Houston defeated the Los Angeles Dodgers in seven games.
According to the Associated Press, Springer can earn additional bonus money this year, including $200,000 for regular-season MVP, $175,000 for second, $150,000 for third, $125,000 and fourth and $100,000 for fifth. He would get $100,000 for World Series MVP and $75,000 each for an All-Star selection, Gold Glove, Silver Slugger and League Championship Series MVP.
Information from The Associated Press was used in this report.