On January 17, 2012, Garcia was drafted 41st overall in the 2012 MLS Supplemental Draft by New England Revolution. However, he didn't sign with the club. Garcia joined Swedish club IFK Luleå in July 2013. He made his debut for IFK Luleå on 25 August in a Division 1 match against Sirius. Garcia would go onto make 9 appearances in his first season in Sweden. On 5 August 2014, Garcia scored his first goal for IFK Luleå in a Svenska Cupen match with Sandviks IK. Trailing 2-1 late, Garcia scored in the 90th minute to level the score at 2 and send the game to extra time, where IFK Luleå would go on to win. On 10 August 2014, Garcia would play late hero once again, this time in the league. Garcia managed to score his first league goal in the 82nd minute to give IFK Luleå a 2-1 win over IF Sylvia. Overall, Garcia enjoyed a more successful season in 2014, making 23 appearances and scoring 3 goals in all competitions. On 23 March 2015, Garcia signed with Irish club Galway United. He made his debut for the Tribesmen on 24 March in a 2-0 loss to Cork City. After making 13 appearances for Galway United, Garcia was released on 30 July 2015. On 3 August 2015, Garcia returned to Sweden to sign with Division 1 club Västerås SK Fotboll. He made his Västerås SK debut on 20 August in a Svenska Cupen match with AFC Eskilstuna, a 3-3 match that saw AFC Eskilstuna advance on penalties. Garcia would make his Division 1 debut for Västerås SK on 23 August in a 3-2 win over Nyköpings BIS. Garcia joined new United Soccer League side Rio Grande Valley FC Toros on January 29, 2016. Garcia made his Toros debut on March 26 in a 2-0 win over the Tulsa Roughnecks. He scored his first goal for RGVFC on June 4 to give the Toros a 1-0 win over San Antonio FC. Garcia captained the Toros to a 10 game unbeaten run, allowing 1 goal in that span and keeping a 760 minute shutout streak.
On September 6, 2016 Garcia was rewarded for his strong play by signing a contract with the Toros' MLS affiliate, the Houston Dynamo. He would make the bench for 2 games, but would end up back with RGVFC on loan for the rest of the year. Garcia made his MLS and Dynamo debut on April 15, 2017 in a 2-2 draw with Minnesota United. Garcia spent most of 2017 on the bench with the Dynamo or on loan with the Toros. In 2018, Garcia missed 2 months due to a muscle injury. He made 4 appearances in the US Open Cup, including coming on as a sub in the final, to help the Dynamo win their first ever Open Cup. Garcia scored his first MLS goal on October 21 in a 3-2 loss to the Seattle Sounders. Garcia made his first appearance of 2019 on March 2, getting the start in a 1-1 draw with Real Salt Lake in the first league match of the season. He would make his first appearance in an international competition of his career on March 12, coming on as a sub in a 1-0 loss to Tigres in the CONCACAF Champions League quarter-finals. Garcia would only make 16 first team appearances on the season and also spent time with RGV in April as he failed to earn much playing time with the Dynamo
FC Tulsa
On March 3, 2020, Garcia joined USL Championship side FC Tulsa ahead of the 2020 season.