Garcia received an invitation to spring training in 2016 as a non-roster player.[11][12] He missed two months of the 2016 season due to multiple facial fractures he suffered during a May 22 game.[13] When he returned, he played for San Jose where he batted .257/323/340 with two home runs and 20 RBIs in 41 games. In 2017, he played for both San Jose and the Richmond Flying Squirrels of the Double–AEastern League, posting a combined .274 batting average with 17 home runs and 73 RBIs along with an .808 OPS in 103 games between the two games.[14] The Giants added him to their 40-man roster after the 2017 season.[15]
With Buster Posey undergoing season-ending surgery, the Giants promoted Garcia to the major leagues on August 26.[16] He played his first game on August 31, and hit a home run in his debut.[17]
He played in the 2019 season with Triple–A Sacramento, batting .271/.343/.488 with 16 home runs and 55 RBI in 332 at bats.[4] He also played 18 games for the Giants, hitting .143/.217/.310 with 2 home runs and 5 RBI.[4] Garcia did not play in a game in 2020 due to the cancellation of the minor league season because of the COVID-19 pandemic.[18] On November 20, 2020, Garcia was designated for assignment.[19]
Oakland Athletics (2021)
On November 25, 2020, the Texas Rangers claimed Garcia off of waivers.[20] On February 6, 2021, the Rangers traded Garcia and Elvis Andrus to the Oakland Athletics in exchange for Khris Davis, Jonah Heim, and Dane Acker.[21] Garcia hit .205/.239/.318 in 32 games for the Athletics before he was designated for assignment on September 20, 2021.[22] Garcia was released by Oakland on September 22.
Cincinnati Reds (2022)
On November 29, 2021, Garcia signed a minor league contract with the Cincinnati Reds.[23] On April 4, 2022, it was announced that he had made the 2022 opening day roster. On July 7, he was placed on the injured list with an elbow injury and a broken left middle finger, and was transferred to the 60-day injured list on August 11.[24] Garcia was activated on October 4, with two games remaining in the season.[25] He appeared in 47 games for Cincinnati, slashing .213/.248/.259 with one home run and 4 RBI.
On October 14, 2022, Garcia was claimed off waivers by the Baltimore Orioles.[26] On October 30, Garcia was removed from the 40-man roster and sent outright to the Triple–A Norfolk Tides.[27] On November 1, Garcia elected free agency in lieu of the outright assignment.[28]
Garcia began the 2024 campaign with Lehigh Valley, playing in 74 games and batting .163/.219/.287 with eight home runs, 25 RBI, and six stolen bases. On September 7, 2024, the Phillies selected Garcia's contract, adding him to their active roster.[30] In 3 games for the Phillies, he went 0–for–7 with 3 strikeouts. Garcia was designated for assignment by Philadelphia on September 15.[31] He cleared waivers and was sent outright to Lehigh Valley on September 17.[32] Garcia elected free agency on October 15.[33]