A product of Real Madrid's youth system, García was born in Mula, Region of Murcia, and played three La Liga matches for the first team while still a junior, making his debut at age 17 in a 5–0 home win against Levante UD on 28 November 2004. After that, he would spend the entire 2005–06 season with the reserves in Segunda División. The summer of2006 was a very busy one for García: first, he won the UEFA European Championship with the under-19s, impressing first-team head coach Fabio Capello who recalled him to training sessions. He played in most of Real's pre-season games, including a starting line-up spot in both Ramón de Carranza Trophy fixtures, playing in central midfield alongside new purchase Emerson; however, he failed to appear for the main squad in official matches. In August 2007, in the campaign of García's supposed definitive promotion to the first team, head coach Bernd Schuster would eventually prevent that golden opportunity – as fellow cantera players Rubén de la Red and Esteban Granero also left the club – and offers began to appear from clubs in the Premier League, including Liverpool, and domestic teams such as Atlético Madrid and Deportivo de La Coruña. García would finally settle for CA Osasuna on 31 August, signing for four seasons for a €2.5 million transfer fee as the Navarre side was keen to replace injury-struck midfielder Javad Nekounam ; having first appeared in a 1–1 home draw with Sevilla FC, where he played one minute, he scored twice in his first six matches, in wins against Levante and Villarreal CF. García's contract included a buy-back clause that could see him return to Real Madrid for €4 million. On 29 April2008, Osasuna officially reported that the former had exercised their purchase option, and the player returned to the Santiago Bernabéu for 2008–09; he made his first league appearance for Real in his second spell during the 7–1 thrashing of Sporting de Gijón on 24 September, coming on as a second-half substitute for Mahamadou Diarra.
Benfica
Deemed surplus to requirements at Real Madrid, García signed for S.L. Benfica in Portugal on 21 July 2009 on a five-year contract for a €7 million transfer fee. An undisputed starter throughout his first season, he also scored three goals, most notably through a header in the last minute for the game's only goal against Associação Naval 1º de Maio at home, as the club clung onto the top position on 9 November and eventually won the Primeira Liga. García made 43 competitive appearances in 2011–12. His only two goals of the season came against Sporting CP in the Lisbon derby 1–0 home win, and at Chelsea in the quarter-finals of the UEFA Champions League – in the latter, he netted off a corner kick in the 85th minute to make it 1–1, but ten-men Benfica eventually lost 1–2 and 1–3 on aggregate.
On 14 August 2017, 30-year-old García returned to Spain after eight years to join Real Betis. On 5 July 2019, he signed a new two-year contract with the Andalusians.