У дорослому футболі дебютував 2002 року виступами за команду «Реал Мадрид B», в якій провів три сезони, взявши участь у 56 матчах чемпіонату. З 2004 року почав потрапляти до заявки головної команди мадридського «Реала», втім закріпитися в основному складі «королівського клубу» не зміг, провівши протягом двох сезонів лише 6 матчів за «Реал» у національному чемпіонаті.
Сезон 2005-06 провів в оренді у клубі «Еспаньйол», де отримав досвід регулярних виступів у Прімері та здобув свій перший великий трофей, ставши володарем Кубка Іспанії. По завершенні терміну оренди повернувся до «Реала», однак відразу ж перейшов до іншого представника іспанського елітного дивізіону клубу «Осасуна», уклавши з ним повноцінний контракт. Граючи у складі «Осасуни» також здебільшого виходив на поле в основному складі команди.
До складу мадридського «Атлетіко» приєднався на початку 2011 року. В новому клубі відразу став ключовою фігурою півзахисту команди. Допоміг команді здобути перемогу у розіграші Ліги Європи 2011-12. Згодом став здебільшого використовуватися на позиції правого захисника. Загалом відіграв за «Атлетіко» вісім з половиною сезонів, провівши 355 офіційних ігор, включаючи 243 гри Ла Ліги. Влітку 2019 року, після завершення чергового контракту з мадридським клубом, 34-річний гравець залишив його команду на правах вільного агента.
Виступи за збірні
2003 року дебютував у складі юнацької збірної Іспанії, взяв участь в 11 іграх на юнацькому рівні, відзначившись 2 забитими голами.
Протягом 2003–2006 років залучався до складу молодіжних збірних Іспанії. На молодіжному рівні зіграв у 20 офіційних матчах, забив 3 голи.
26 травня 2012 року товариським матчем проти збірної Сербії дебютував в офіційних матчах у складі національної збірної Іспанії. Незважаючи на практичну відсутність досвіду виступів у складі першої збірної Іспанії, був включений до її заявки для участі у фінальній частині чемпіонату Європи 2012 року. На цьому турнірі залишався запасним гравцем, а його команда стала континентальним чемпіоном.
За два роки, на чемпіонаті світу 2014, також був у складі іспанської збірної, однак його участь у турнірі обмежилася однією грою групового етапу. А вже на Євро-2016 був основним правим захисником іспанців, взявши участь в усіх чотирьох іграх на турнірі, який закінчився для них на стадії 1/8 фіналу. Після цієї відносної невдачі тренерський штаб збірної Іспанії взяв курс на омолодження складу, і Хуанфран припинив викликатися до її лав.