Гарсия начал карьеру в клубе «Атлас». 12 апреля 2000 года в матче против Пачуки он дебютировал в мексиканской Примере. 31 августа в поединке против УНАМ Пумас Хуан забил свой первый гол за команду из Гвадалахары. Летом 2005 года Гарсия перешёл в американский «Чивас США». 21 августа в матче против «Нью-Йорк Ред Буллс» он дебютировал в MLS. В этом же поединке Хуан забил свой первый гол за новую команду. По итогам сезона он вместе с Анте Разовым стал лучшим бомбардиром «Чиваса». В 2007 году Гарсия вернулся на родину, подписав контракт с УАНЛ Тигрес. Из-за высокой конкуренции он в 2008 году на правах аренды выступал за «Хагуарес Чьяпас». В 2009 году Гарсия в составе тигров выиграл Североамериканскую суперлигу.
В начале 2011 года Хуан вернулся в элиту, став футболистом «Пуэблы». 8 января в матче против своего родного клуба «Атлас» он дебютировал за новую команду[4]. Сыграв в трёх поединках Гарсия потерял место в основе и в летом 2012 года присоединился к «Мериде». 28 августа в матче против «Леонес Негрос» он дебютировал за новый клуб[5]. В 2014 году Хуан расторг контракт с «Меридой».