Thornburg, who earned $2.05 million this past season, can also earn $400,000 in performance bonuses based on games: $100,000 each for 45, 50, 55 and 60.
He made his Red Sox debut in July and appeared in 25 games. Thornburg had a 5.63 ERA. He sat out the 2017 season after surgery to treat thoracic outlet syndrome.
Thornburg was taken in the third round of the 2010 amateur draft by the Milwaukee Brewers. He went 14-9 with a 2.87 ERA in 144 career appearances for the Brewers from 2012-16 prior to being acquired by the Red Sox in a trade in December 2016.