Rogers was drafted by the Baltimore Orioles in the 37th round of the 2009 Major League Baseball draft out of Chatfield Senior High School in Littleton, Colorado. He did not sign with the Orioles, and instead attended the University of Kentucky to play college baseball. In 2010, he tied for the Southeastern Conferencelead in losses and runs allowed, as he went 4-7 with a 6.40 ERA. In 2011, he tied for second in the Southeastern Conference in losses, and was third-highest in runs allowed. After the 2011 season, he played collegiate summer baseball with the Harwich Mariners of the Cape Cod Baseball League and was named a league all-star. In 2012, he was fourth in the Southeastern Conference in runs allowed. Pitching in college from 2010-12, he was 13-18 with a 5.35 ERA. After his junior season, Rogers was drafted by the Minnesota Twins in the 11th round of the 2012 MLB draft. , at the Triple-A All-Star Game Rogers signed with the Twins and made his professional debut that season with the Elizabethton Twins and also played for the Beloit Snappers. In 15 games between both teams, he was 4-3 with a 2.27 ERA. Rogers started 2013 with the Cedar Rapids Kernels and was promoted to the Fort Myers Miracle during the season. In 25 games between the two clubs, 24 of which were starts, Rogers was 11-7 with a 2.88 ERA. In 2014 he pitched for the New Britain Rock Cats where he compiled an 11-6 record with a 3.29 ERA in 24 games started, and in 2015 he played for the Rochester Red Wings where he posted an 11-12 record with a 3.98 ERA in 28 games. The Twins added Rogers to their 40-man roster after the 2015 season. He began 2016 with Rochester. Rogers was called up to the major leagues on April 13, 2016, and he made his major league debut the next day. He was optioned to Rochester on April 19, and recalled to Minnesota on May 17. After his May 17 promotion, he spent the rest of the season with Minnesota, going 3-1 with a 3.96 ERA in 57 relief appearances. Rogers spent all of the 2017 season with the Twins, pitching to a 7-3 record, a 3.07 ERA, and a 1.31 WHIP in innings pitched, with a major-league-leading 30 holds. The following season, Rogers appeared in 72 games for Minnesota, pitching to a 1-2 record in innings. In 2019, Rogers began as the setup man before being installed as the closer. He recorded 30 saves in 36 opportunities, striking out 90 in 69 innings with an ERA of 2.61.