Minnesota Twins 2006 season Perkins made his MLB debut on September 21, 2006, against the
Boston Red Sox. Coming in to relieve teammate
Matt Guerrier, Perkins pitched perfect innings. Perkins pitched in four regular season games in the 2006 season, all in September as a
relief pitcher. He pitched innings, recording a 1.59 ERA while striking out six.
2008 season Perkins pitched 12 innings for the Twins during spring training, going 1–2 with a 7.50 ERA. While with Rochester, he pitched innings, compiling a 2–1 record, a 2.97 ERA, and 27 strikeouts in seven games (six starts). On May 7, 2008, Perkins was called up to replace injured teammate
Scott Baker. He started his first major league game against the Boston Red Sox on May 10, 2008, allowing three earned runs in six innings to record the loss. He recorded his first major league win in a home start against the
Texas Rangers on May 20, 2008. On May 25, 2008, Perkins pitched arguably his best MLB performance. Starting in a road game against the
Detroit Tigers, Perkins recorded the win by pitching innings while surrendering seven hits, one earned, two walks, and four strikeouts. Through June 30, Perkins started in all 11 of his appearances with the Twins. He had pitched innings, posting a 4–2 record, 4.31 ERA, and 38 strikeouts. On July 18, 2008, Perkins went six innings combined with three relievers on a three-hit shutout of the
Texas Rangers. It was the first time that season that the game's highest-scoring offense had been shut out. Perkins appeared in four games (one start), going 0–1 with a 9.00 ERA before being optioned back to Rochester on August 28 to make room for newly acquired pitcher
Brian Fuentes. Perkins returned to the majors in September after rosters expanded. He finished the season 1–1 with a 5.82 ERA in 13 games (one start). Perkins was guaranteed $2.5 million in 2013, and $3.75 million in both 2014 and 2015. There was a 2016 option for $4.5 million with a $300,000 buyout.
2012 season Perkins became the Twins closer in July 2012 after an injury to his predecessor
Matt Capps. He went on to finish the season 3–1 with 16 saves and a 2.56 ERA in 70 relief appearances. Despite the Twins' mediocre season, Perkins was 2–0 with 36 saves and a 2.30 ERA in 61 games. In July, he was named to his second
All-Star game, where he was credited with the save for the American League in their 5–3 victory. He finished the season 4–3 with 34 saves and a 3.65 ERA in 63 relief appearances. He appeared in 60 games, going 3–5 with 32 saves and a 3.32 ERA, along with 54 strikeouts in 57 innings pitched. On June 16, it was revealed Perkins would need season-ending surgery due to a torn labrum and damage to his rotator cuff.
2017 season After another injury-shortened season, Perkins' 2018 option was declined by the Twins with the expectation that the team would buy out his contract. He announced his retirement on January 23, 2018. ==Pitching style==