Torres was drafted in the 15th round, 449th overall, in the 2004 MLB Draft by the Chicago White Sox and signed for $1,000.[5] He worked his way up through the White Sox minor league system, before making his Major League debut on July 22, 2009, against the Tampa Bay Rays.[6] Prior to his call-up Torres had posted an 8–4 record with a 2.20 ERA with the White Sox' Triple-A affiliate, the Charlotte Knights. Scheduled starter John Danks had a blister on his index finger.[7] Torres pitched six strong innings, giving up three runs on two homers and striking out three to record a quality start.[8] On September 3, Torres picked up his first major league victory by defeating Ryan Dempster and the Chicago Cubs 5–0 in a make-up game at Wrigley Field.[9] He was released on October 26, 2010.
On January 11, 2012, Torres signed a minor league contract with the Colorado Rockies.[12] He had his contract selected to the major league roster on May 4. On August 12, 2012, Torres got his first career base hit, an RBI single off George Kontos of the San Francisco Giants.[13] He was sent outright off the major league roster and he subsequently elected free agency on November 2.
New York Mets
On November 15, 2012, Torres signed a minor league contract with the New York Mets[14] He had his contract selected to the major league roster on June 16, 2013. In 33 games for the team, Torres compiled 86.1 IP, 4–6, 3.44 ERA, 75 K's, and 1.12 WHIP. During the 2014 season, Torres appeared in a career-high 73 games, while compiling a record of 8–6, 3.06 ERA, 96 K's and 1.31 WHIP in 97.0 IP.[15]
For the 2015 season, Torres appeared in 59 games, while compiling a record of 5–6, 4.68 ERA, 48 K's and 1.37 WHIP in 57.2 IP.
On January 22, 2016, Torres was designated for assignment by the Mets.[16] On January 30, the Mets placed Torres on waivers.[17] Torres cleared waivers on the next day and elected free agency.[18]
Atlanta Braves
On February 19, 2016, Torres signed a minor league contract with the Atlanta Braves.[19] He was released on March 31, 2016.[20]
Milwaukee Brewers
On April 2, 2016, Torres signed a one-year major league deal with the Milwaukee Brewers. He was outrighted to AAA and elected free agency on November 2, 2017.
Cleveland Indians
On February 22, 2018, Torres signed a minor league contract with the Cleveland Indians.[21] The deal included an invitation to the Indians' major league spring training camp. Torres was released by the Indians on March 24, 2018.
Washington Nationals
On March 30, 2018, Torres signed a minor league deal with the Washington Nationals, who assigned him to the Syracuse Chiefs in the Class AAA International League.[22] He appeared in four games for the Chiefs, pitching five scoreless innings.[22] On April 20, 2018, the Nationals selected his contract from Syracuse and placed him on their 25-man roster.[23] He appeared in 10 games for the Nationals, pitching to a 6.52 ERA over 92⁄3 innings.[22] The Nationals designated him for assignment on May 23, he cleared waivers and was sent outright to Triple-A Syracuse Chiefs on May 25.[24] He declared free agency on October 2, 2018.[25]
San Diego Padres
On January 24, 2019, Torres signed a minor league contract with the San Diego Padres that included an invitation to spring training.[26] On May 16, 2019, he opted out of his contract and became a free agent.[27]
Detroit Tigers
On May 26, 2019, Torres signed a minor league contract with the Detroit Tigers.[28] On June 8, 2019, Torres was recalled by the Tigers.[29] He was designated for assignment on June 22 after recording a 7.50 ERA in four appearances.[30] Torres later elected free agency on June 24.
Minnesota Twins
On June 26, 2019, Torres signed a minor league contract with the Minnesota Twins.[31] On July 24, the Twins selected Torres' contract.[32] On July 28, Torres was designated for assignment.[33] He was released on July 30.
San Francisco Giants
On August 11, 2019, Torres signed a minor league deal with the Giants.[34] On August 27, Torres was released.[35]