The deal was announced Friday, two days after it was agreed to at the winter meetings.
He gets $1.5 million next season and $3 million in each of the following two years. He can earn an additional $250,000 annually based on relief appearances: $50,000 for 70, $75,000 for 75 and $125,000 for 80.
The 37-year-old left-hander tied for the major league lead with 80 pitching appearances this year, splitting the season between the Miami Marlins and Los Angeles Dodgers. Choate is 11-11 with a 4.02 ERA and six saves in 476 games during a big league career that began in 2000.