Garcia’s counter-punching style proved too much for Morales and he was judged to have won by scores of 118-109, 117-110 and 116-112.
"I won this fight with my conditioning," said Garcia. "If you have dreams, hold on to them. I'm proof that they come true."
The 24-year-old Garcia caught Morales with a hard right hook in the 11th round, flooring his 35-year-old opponent, although Morales did manage to get up and still survive the 12th, albeit it only just.
"His style gave me problems," said Morales, who lost the WBC 140-pound belt at Friday's weigh-in when he came in at 142 pounds. "It seems like my age caught up to me tonight."