He came through the youth ranks at Málaga, starting in its reserves and making his first-team debut in 2010, also spending time on loan at Racing de Santander in 2013.
In La Liga, he also represented Real Sociedad, Betis and Cádiz, totalling over 250 games and 60 goals and winning the Copa del Rey in 2022.
[14] On 16 June 2015, Juanmi signed a four-year deal with Premier League side Southampton, for an undisclosed fee reported to be £5 million.
[15][16][17] He made his debut on 30 July, coming on for Jordy Clasie in the 62nd minute and setting up fellow substitute Shane Long for the final goal in a 3–0 victory over Vitesse Arnhem at St. Mary's Stadium in the third qualifying round of the UEFA Europa League.
[18] On 9 June 2016, after 19 goalless appearances in all competitions – two starts – Juanmi returned to his home country and joined Real Sociedad for an undisclosed fee.
[21] Juanmi was given a yellow card on 28 February 2017 for celebrating the opening goal of a 2–2 draw with SD Eibar at Anoeta Stadium by lifting up his shirt to show a tribute to the recently deceased leukemia sufferer Pablo Ráez, and was sent off in the second half for a second booking.
[31][32] Having fallen out of favour with Manuel Pellegrini following the signing of Ayoze Pérez,[33] Juanmi joined newly promoted Saudi Pro League side Al-Riyadh SC on a one-year loan on 20 August 2023.
On 23 March 2015, he was called up to the senior Spain national team for the first time by coach Vicente del Bosque, ahead of a UEFA Euro 2016 qualifier against Ukraine and a friendly with the Netherlands, after Diego Costa withdrew with a hamstring injury.
[41] On 29 December 2016, Juanmi played for the Andalusian representative side in a 3–1 home win over a La Liga XI, to raise money for UNICEF.