Career
Garcia was signed as a non-drafted free agent by the New York Yankees in May 2001. In July 2003, he was traded along with pitchers Jason Anderson and Ryan Bicondoa to the New York Mets for closer Armando Benítez. Though primarily a starting pitcher while in the Yankees organization, the Mets organization used him almost exclusively as a reliever.
Garcia was promoted to the Mets roster in May 2006, but was quickly sent back to Norfolk and never actually appeared in a game for the team
In August 2006, he was placed on waivers by the Mets and claimed by the Baltimore Orioles. He was subsequently claimed by the Philadelphia Phillies in December.
In February 2008, the Seattle Mariners claimed Garcia on waivers from the Phillies. Garcia was released on July 9, 2008.