Morton was born in Flemington, New Jersey, but was raised in Redding, Connecticut. Morton, attended Joel Barlow High School, where he starred as a pitcher, graduating in 2002.
Morton was drafted by the Atlanta Braves in the third round (95th overall) of the 2002 Major League Baseball Draft. He started his pro career in 2002 with the GCL Braves. In 2003, he played for the Danville Braves. He spent the 2004 and 2005 seasons with the Rome Braves. In 2006, he pitched for the Myrtle Beach Pelicans. In 2007, he pitched for the Mississippi Braves. It was this path that led him away from his role in the family's ownership of nationally renowned restaurant Morton's Steakhouse.
Morton was added to the 40-man roster by the Braves on November 20, 2007. Morton made his major league debut on June 14, 2008, against the Los Angeles Angels of Anaheim, allowing 3 runs in 6 innings, earning his first Major League win in the process.
On June 3, 2009, the Braves traded Morton with Gorkys Hernández and Jeff Locke to the Pittsburgh Pirates in exchange for Nate McLouth. He made his first start with the Pirates on June 10, pitching an inning against the Atlanta Braves, while Jeff Karstens got the win. On June 28, he received his first decision, a loss to the Kansas City Royals. On July 3, 2009, he won his first game, pitching 6 innings of 1 hit ball against the Florida Marlins. On September 30, 2009, he pitched a complete game 4 hitter with 8 strikeouts against the Chicago Cubs. His 2009 record in 18 starts was 5 wins and 9 losses, a 4.55 ERA, 97 innings pitched and 62 strikeouts, 40 walks, 7 home runs, 5 hit batsmen, .276 average against, and a 1.46 WHIP.
Morton broke 2010 spring training as a member of the Pirates' starting rotation. He made his first start of the season against the Arizona Diamondbacks on April 9, 2010 and struck out the first five hitters he faced, but gave up 8 earned runs in just 3 1⁄3 innings pitched. As the season progressed, Morton continued to struggle, losing all five starts in April and finished the month with a 12.57 ERA. However, Morton delivered a promising performance on April 30, 2010 against the Los Angeles Dodgers, striking out 8 in six innings of work while allowing six runs (only three earned) but was dealt a loss as the Pirates only provided him with two runs of support. "I thought he threw the ball well," Pirates manager John Russell said. "If we catch the ball that one inning, it might have been a different story. He probably should have gotten out of that [3rd] inning with no runs."
Morton earned his first win of the season on May 5, 2010 against the Chicago Cubs, striking out three in a 4–2 decision. However, he could not build on the win and lost each of his next four starts, dropping his record on the season to 1–9 with a 9.35 ERA. A day after suffering his 9th loss against the Cincinnati Reds, the Pirates placed him on the 15-day disabled list with shoulder fatigue. He was sent to the Pirates spring training facility in Bradenton, Florida for rehabilitation. After completing his rehabilitation, which included meeting with a sports psychologist, he was assigned to the Pirates Triple-A affiliate Indianapolis Indians.
Speaking before his first start with the Indians, Morton said "I was pressing. I wasn't being myself on the mound those last couple times I went out there in Pittsburgh. There was so much going on in my mind. At the end of last year, I finished strong, I got a glimpse of what I could do, truly, in the big leagues, going out there and going deep into games, being competitive, being someone who was pretty good. I wanted to be out there for myself and because I care about this team and organization. At the same time, though, after that last one, that last start, because I care about these guys is why, exactly, I knew I couldn't go back out there again."
On June 24, 2010, he earned his first win in AAA since returning from the DL, pitching a complete game with four strikeouts against the Durham Bulls.
When starter Ross Ohlendorf was placed on the 15-day disabled list due to a shoulder injury, the Pirates recalled Morton to take his place in the rotation. He started on August 29, 2010 against the Milwaukee Brewers giving up 8 runs in 3.1 innings. After two months in Triple-A, Morton compiled a record of 4–4 with a 3.83 ERA and 53 strikeouts in 80 innings pitched.
On his final start of the 2010 season, Morton compiled his finest pitching performance of the year, striking out a career-high 9 batters in a 2-0 loss to the Florida Marlins on October 2. He pitched 6 strong innings while only walking one, but the start yielded no reward as he was handed his 12th loss of the season. "For a while now, I've been wishing it could go on," Morton said of the 2010 season. "Those first two months felt like two years, but this has been so much more enjoyable. I know I can go out there and not just compete but succeed. That's what makes it tough to just walk away from here tonight." Morton finished the season with a 2-12 record with a 7.57 ERA, but in his final six starts of the season after being recalled in late August, he sported a 4.26 ERA.
2011 was Morton's best season, going 10–10 in 29 starts with a 3.83 ERA, earning the club's Breakout Player of the Year.
On April 15, 2011, Morton threw a complete game at the Cincinnati Reds, giving up a solo-home run and 4 other hits while striking out 3. On May 18, 2011, again at Great American Ball Park, Morton threw a complete game-shutout, striking out 5 and giving up 5 hits.
Morton underwent successful hip surgery to repair a torn labrum in October 2011, with a full recovery expected in 4–6 months. He was optimistic to return before Opening Day. However, he began the 2012 season on the disabled list, making his season debut on April 14, 2012. He was eventually knocked out for the 2012 season after having to undergo Tommy John surgery on June 14, 2012.
On June 13, 2013, Morton was activated off the DL due to A. J. Burnett suffering a calf injury. Morton made his 2013 debut against the San Francisco Giants. Morton pitched 5 innings, striking out 5 and walking 1. Morton gave up 4 runs (2 earned) and received a loss. The Pirates went on to lose the game, 10–0. Morton picked up his first win of the season on June 18 against the Cincinnati Reds. He pitched 5 1⁄3 innings giving up only 3 hits and no runs, while striking out 2. The Pirates went on to win the game, 4–0, this was the Pirates 12th team shutout of the season. On July 22 and 27 Charlie won back to back games for the first time since May 7 and 18, 2011. On July 22, he pitched 6 2⁄3 giving up 3 earned runs while striking out 5 earning the win against the Washington Nationals. On July 27, he went five innings giving up 4 runs (3 earned) and striking out 6 Miami Marlins.
On December 11, 2013, Morton signed a three-year contract to remain with the Pirates, with a club option for the 2017 season. Morton was placed on the DL with right hip inflammation on August 17, 2014. At the time, he was 5-12 with a 3.84 ERA. During the month of September, Morton needed hip surgery, effectively ending his 2014 season. In 26 starts on 2014, Morton hit 19 batsmen with pitches, which led the Majors along with a 6-12 record and a 3.72 ERA.
During 2015 Spring Training, Morton struggled thoroughly and began to experience inflammation in his recently surgically repaired hip. On April 5, 2015, the Pirates placed Morton on the 15-day disabled list to begin the 2015 year and will make his return to the Pirates on Memorial Day 2015 .
On December 12, 2015, the Pirates traded Morton to the Philadelphia Phillies in exchange for David Whitehead.
On April 23, 2016, Morton suffered a hamstring injury running to first base in a game against the Milwaukee Brewers, and was placed on the disabled list the next day. On April 27, the Phillies announced Morton would miss the rest of the 2016 season with a torn hamstring.
On November 16, 2016, Morton signed a two-year, $14 million contract with the Houston Astros.
Morton's repertoire consisted in 2013 of a four-seam fastball (93–95 mph), a sinker (92–94 mph), a curveball (78–80 mph), and a split-finger fastball (84–88 mph). Morton picked up the splitter in 2011, having previously thrown a changeup. He also has previously thrown a slider and a cutter. Morton's sinker was his most common pitch, especially against right-handed hitters. His curveball was his most common pitch with 2 strikes.
Due to the changes in his delivery and the emphasis he has placed on the sinker, Morton has spawned comparisons to two-time Cy Young Award winner Roy Halladay. Pirates special assistant Jim Benedict had previously encouraged Morton to emulate Halladay's delivery during spring training. Morton has featured his new sinker almost exclusively in his first starts of the 2011 season, resulting in an increased groundball rate but also more bases on balls. Pirates' fans have christened him with the nickname "Ground Chuck."