2011 - 2015 : premières saisons sur le circuit ATP, top 50
2011 : il intègre le top 100.
2012 : il atteint une première finale sur le circuit principal (ATP) à Casablanca. Il intègre le top 50 et atteint la 38e place.
2013 : il fait ses débuts en Coupe Davis où il perd contre le CanadienMilos Raonic lors de la rencontre de premier tour. Il atteint une première finale en double.
Sur la terre battue de Roland-Garros il réalise une superbe quinzaine en allant jusqu'en quarts de finale, une première pour lui en Grand Chelem. Pour ses deux premiers tours, il bat deux Argentins : d'abord Horacio Zeballos (6-3, 4-6, 7-5, 6-0) et ensuite le qualifié Marco Trungelliti (6-3, 6-4, 7-5). Au troisième tour, il vainc la tête de série no 23 Jack Sock (62-7, 6-4, 6-4, 4-6, 6-3) au terme d'un match haletant, puis expédie facilement en huitième Milos Raonic no 9 mondial, (6-2, 6-4, 6-4) en 2 h 19 commettant seulement 13 fautes directes, et s'offrant son deuxième top 10 en carrière[1],[2]. Il perd assez sèchement en quart contre Stanislas Wawrinka no 4 mondial, (2-6, 1-6, 67-7) en 1 h 55[3].
À Wimbledon, il réalise sa meilleure performance au All England Club avec un troisième tour en battant Vasek Pospisil (6-4, 3-6, 6-3, 6-4) et la tête de série no 25 Viktor Troicki (3-6, 6-3, 6-3, 2-6, 6-3) avant d'être battu par Richard Gasquet en quatre sets. Juste après, il remporte le premier titre de sa carrière à Båstad en battant deux compatriotes David Ferrer (7-5, 6-4) et ensuite Fernando Verdasco en finale (6-3, 6-4)[4].
Il réalise un dernier bon tournoi à Chengdu, où il bat facilement (6-1, 6-4) en quart Dominic Thiem no 10 mondial et Grigor Dimitrov (7-66, 1-6, 7-63) au terme d'un gros match à suspense pour arriver en finale[5]. Il perd lors d'un match à retournement contre le jeune Karen Khachanov 101e mondial, (7-64, 63-7, 3-6) en près de trois heures[6].
Il bat son meilleur classement de 2012 en atteignant en fin d'année le top 30 à la 27e place mondiale.
2017 : 1re finale en Masters 1000 à Monte-Carlo, top 20
À l'Open d'Australie, il affronte au premier tour Lukáš Lacko et s'incline en 5 sets (6-4, 5-7, 6-1, 4-6, 3-6).
Sur terre battue, au tournoi de Rio de Janeiro, il va jusqu'en demi-finale avant de s'incliner face à Dominic Thiem (1-6, 4-6). Puis la semaine suivante, se qualifie pour la finale au tournoi de São Paulo, battant en plus de trois heures João Sousa (65-7, 7-5, 6-2) en demi-finale. Il perd dans un autre match serré de plus de trois heures et joué sur deux jours en raison de la pluie, face à Pablo Cuevas (7-63, 4-6, 4-6), loupant une occasion de remporter le titre[7].
Au Masters de Monte-Carlo, il vainc les Argentins Renzo Olivo et Carlos Berlocq facilement, avant de battre en huitièmes de finale le no 1 mondial Andy Murray en 3 sets (2-6, 6-2, 7-5 ; 2 h 33 de jeu)[8]. Puis le 8e mondial, Marin Čilić (6-2, 65-7, 6-2) après 2 h 32 de jeu[9] et en demi-finale le 17e mondial, Lucas Pouille (6-3, 5-7, 6-1) après 2 h 15[10]. Il se qualifie pour sa première finale en Masters 1000 où il rencontre Rafael Nadal[11]. Il s'incline sèchement (1-6, 3-6) en 1 h 16, après sa semaine fatigante[12] et dominé dans tous les compartiments du jeu[13]. Puis au tournoi de Barcelone, sur sa forme du moment il passe le jeune qualifié de 18 ans, Casper Ruud (7-66, 6-4) et son compatriote Roberto Bautista-Agut (6-2, 3-6, 6-4) pour atteindre les quarts. Il est vaincu contre Andy Murray prenant sa revanche de Monaco (6-2, 4-6, 64-7) après trois heures de marathon intense et à suspense[14].
2023. Finale à Gstaad
Fin juillet 2023, il accède à sa première finale de l'année à Gstaad, tournoi qu'il avait remporté il y a quatre ans en battant deux Italiens Fabio Fognini (6-1, 2-6, 6-2) et Lorenzo Sonego (6-3, 3-6, 6-4), tête de série numéro trois, ainsi que le Péruvien Juan Pablo Varillas (6-7, 6-1, 6-4) et le Serbe Miomir Kecmanović (6-2, 6-3), tête de série numéro deux. Il cède en finale renversé par l'Argentin Pedro Cachín (6-3, 0-6, 5-7).