Colón was signed as an amateur free agent by the Atlanta Braves in 1995 and began his professional career with the Braves Dominican Summer League team in 1996. In 1997, he ranked first in the Gulf Coast League in runs allowed (47) and earned runs (30), 5th in innings pitched (63), 4th in hits allowed (68), 2nd in games started (12). In 1998, he ranked 3rd in the Appalachian League in runs (59) and games started (13), 4th in earned runs (47) and first in hits allowed (92) and losses (7).
In 1999, he was named by the organization as Jamestown's Pitcher of the Year. He led the team in wins and strikeouts and tied for the team lead in innings pitched. Colón missed all of 2000 with an injury. Healthy again in 2001, he was promoted to Macon on May 3 from extended spring training. He had the 9th best walks per 9 innings ratio in Macon Braves history (1.83) and struck out a season high 7 batters three times. He struck out 6 in 6 innings on May 18 at Asheville for his first win of the season.
He put together a solid season in 2002, going 9–8 with a 3.59 ERA. In the two seasons after his arm trouble, he walked just 64 batters in 291 innings with 185 strikeouts. Colón pitched a complete game on June 2 versus Frederick (9 IP, 7 H, 1 R, 1 ER, 6 K). He also struck out a season-high eight batters on May 6 vs. Winston-Salem ( 7 1⁄3 IP, 6 H, 1 R, 0 ER, 1 BB, 8 K).
In 2003, he was named Greenville Braves Pitcher of the Month in April (2-0, 2.86 ERA in 4 G). He finished 1st on the club and 3rd in the Double-A Southern League in wins, going 11–3. He earned a win in his first Double-A start in a 3–1 victory verse Chattanooga on April 9 (5 IP, 3 H, 1 R, 3 BB, 4 K). He won his first 3 decisions before losing back to back starts on May 12 and May 17, giving up 8 runs on 16 hits over 12 innings. He went 6–3 (3.66) in 12 starts ( 71 1⁄3 IP, 68 H, 22 BB, 38 K) and was 5–0 (2.78) with 2 saves in 27 relief appearances ( 35 2⁄3 IP, 36 H, 11 BB, 20 K). However, he closed the season by winning his final 7 decisions (did not lose after May 29) and did not allow a run over his final 13 appearances of the season from August 1 through September 1. He earned his first professional save by firing a perfect inning in a 5–3 win at Jacksonville on July 23.
Colón pitched at three different levels in 2004 and ended the year with Atlanta. At Triple-A Richmond, he went 4–1 with a 3.65 ERA in 51 appearances and was Richmond Pitcher of the Month for July, going 2–0 with a 1.33 ERA (12G, 20 1⁄3 IP, 3 ER, BB, 17 K). He walked just two batters after July 1 with Richmond (19 G, 31.1 IP) and did not allow a run over his last six appearances, from August 4–August 17 ( 10 2⁄3 IP, 2 H, BB, 11 K). He was recalled by Atlanta on August 18 and made his major league debut August 21 at Los Angeles, pitching the eighth inning. He did not allow a hit and fanned two. He earned first ML win on August 30 versus San Francisco with a scoreless ninth inning. He suffered his first MLB loss on September 9 against Philadelphia. He had filled in admirably in an injury depleted Atlanta Braves rotation in 2005, holding the Chicago Cubs to one run in seven innings on July 5.
The Detroit Tigers acquired Colón from the Braves (along with Zach Miner) for Kyle Farnsworth at the July 31, 2005, trade deadline. He spent most of his Tigers tenure in the bullpen before making two spot starts in September, and was shelved after that with stiffness in his throwing elbow. In 2006, he appeared in 20 games for the Tigers.
Colón started the 2007 season on the DL. During a rehab assignment in Triple-A Toledo, he was involved in an altercation with fellow pitcher Jordan Tata. During the course of the fight, Colón attempted to punch Tata and instead landed a punch to the face of Jason Karnuth, the Mud Hens closer who was trying to intercede and break up the fight. The resulting injury caused Karnuth to be admitted to the hospital and undergo plastic surgery to his face. According to his wife, who filed an assault report against Colón on her husband's behalf, Karnuth required a titanium plate to be screwed into his head. Karnuth missed most of the 2007 season as a result of the injuries. The Tigers suspended Colón for 7 days after the incident. On January 15, 2008, Colón pleaded no contest to an assault charge and was sentenced to 200 hours of community service.
Colón was traded to the Kansas City Royals on July 13, 2007, for a player to be named later (minor league pitcher Daniel Christensen). He was outrighted to the minor leagues after the season and was invited to spring training in 2008. He became a free agent after the 2008 season, but was re-signed by the Royals and invited to their 2009 spring training. He pitched in 48 Major League games with the Royals in 2009 and 2010, finishing 2–3 with a 4.83 ERA.
Colón signed with Kia Tigers of South Korea on May 5, 2010. He made 21 starts for the Tigers, finishing 8–7 with a 3.91 ERA.
On January 12, 2011 he signed a minor league contract with the Los Angeles Dodgers, which included an invitation to spring training. He was assigned to the AAA Albuquerque Isotopes. He appeared in 26 games with a 2–1 record and 5.02 ERA for the Isotopes.
Colón signed a minor league contract with the Kansas City Royals on January 25, 2012, and received an invitation to spring training. He was promoted to the Royals on June 14, 2012. On October 6, 2012 Colon elected free agency.
Colón signed a Minor League contract with the Pittsburgh Pirates in February 2013.
Colón was traded to the Atlanta Braves in April 2013.
He was released after 6 games.
He signed with the Rockies in May.
On January 10, 2015 Colon signed a minor league deal with the Kansas City Royals.
He resides in the Dominican Republic with his wife Monica.