A power-throwing left-hander, Morales made his Major League debut on August 18, 2007, against the Los Angeles Dodgers. He pitched 51⁄3 innings, gave up one run, but got a no-decision. In 2007, Morales was selected to the All-Star Futures Game at AT&T Park in San Francisco. Morales made 8 starts in 2007 going 3-2 with a 3.43 ERA. He was also part of the Rockies' 25-man active roster for the postseason where the team went to the World Series for the first time ever but lost to the Red Sox in a 4-game sweep.
On April 29, 2008, Morales was optioned to the Colorado Rockies Triple-A affiliate, the Colorado Springs Sky Sox in response to a sub-par performance during the early 2008 Major League season. During the 2008 season, he made 5 starts going 1-2 with a 6.39 ERA in the Majors.
In spring training in 2009, Morales led all pitchers in pickoffs, with 5, in 28 innings.[1]. He began the regular season in the starting rotation, but after struggling early he was optioned to the Triple-A Colorado Springs Sky Sox. He was called back up and has been pitching from the bullpen since July 7. In 2009, Morales made 40 appearances (2 starts) going 3-2 with a 4.50 ERA.
In 2010, Morales made 35 relief appearances going 0-4 with a 6.28 ERA.
Morales started the 2011 season with 14 relief appearances going 0-1 with a 3.86 ERA.
Boston Red Sox
On May 19, 2011, Morales was acquired by the Boston Red Sox for a player to be named later or cash considerations.[1] On May 22, he made his debut appearance for the Red Sox in a game against the Chicago Cubs. Morales finished the 2011 season with Boston making 36 relief appearances going 1-1 with a 3.62 ERA. Overall in 2011 combined with two teams, Morales made a total of 50 appearances going 1-2 with a 3.69 ERA.
Near the end of the 2012 season, Morales was injured. He was diagnosed with a shoulder injury. He had a starting job before September and stuck with it until his injury. On January 16, 2012, Morales signed a one-year deal worth $850K with the Red Sox, avoiding arbitration.[2] During the 2012 season, Morales made 37 appearances (9 starts) going 3-4 with a 3.77 ERA. In the off-season he trained to be a starter for 2013.
In 2013, Morales made 20 appearances (1 start) going 2-2 with a 4.62 ERA. Morales made 3 appearances in the postseason. In his final appearance in a Red Sox uniform, he relieved Clay Buchholz in Game 6 of the ALCS. With the Red Sox ahead 1-0 in the 6th inning and two inherited runners on base, Morales walked Prince Fielder on 4 pitches, then fell behind Victor Martinez before yielding a 2-run Wall Ball single. Morales was replaced by Brandon Workman who ended the inning without further damage. The Sox won the game when Shane Victorino hit a 7th inning grand slam. Morales did not pitch in the World Series as the Red Sox won the championship over the St. Louis Cardinals. He was traded by the Red Sox before the end of the year.
After being primarily a relief pitcher for the Red Sox in his previous three years, Morales found his way back into a starting role to begin the 2014 season with the Rockies; he made his season debut on April 3 as the team's fourth starter, giving up 3 earned runs and 8 hits in 5+1⁄3 innings in a no decision against the Miami Marlins.[4][5]
Kansas City Royals
Morales signed a minor league deal with the Kansas City Royals on February 19, 2015 and made the team out of spring training.[6] He got his first win with the team on April 19, throwing the final two pitches of an at bat to Brett Lawrie after Kelvin Herrera was ejected for throwing at Lawrie.[7] Morales finished the 2015 season with a 3.18 ERA and a 4-2 record in 67 relief appearances. With the Royals finishing the season 95-67, the team clinched the AL Central and eventually won the 2015 World Series against the New York Mets, their first championship in 30 years. It was the second championship Morales won in his career.
Milwaukee Brewers
On March 4, 2016, Morales signed a minor league deal with the Milwaukee Brewers with an invitation to spring training. He was released on March 28.[8]
Toronto Blue Jays
On April 2, 2016, Morales signed a one-year, $2 million contract with the Toronto Blue Jays.[9] After making two appearances for the Blue Jays, Morales was placed on the 15-day disabled list with shoulder fatigue. He was later transferred to the 60-day disabled list. Morales began a rehab assignment in June, and on July 22, was activated by the Blue Jays.[10] On August 1, Morales was designated for assignment. He was released by the Blue Jays on August 9.[11]