Perkins, 31, was already under contract through the 2016 season. As part of the new deal, the team has a $6.5 million option for 2018.

Over the past three years, Perkins has posted a 2.45 ERA with 220 strikeouts over 194.2 innings. Last season, Perkins went 2-0 with a 2.30 ERA with 36 saves and 77 strikeouts in 62.2 innings for the Twins, who finished 66-96 for the second consecutive year.