Result | W–L | Date | Tournament | Tier | Surface | Partner | Opponents | Score |
Loss | 0–1 | May 2008 | Spain F18 | Futures | Clay | David Díaz-Ventura | Bart Govaerts
Carlos Rexach-Itoiz | walkover |
Loss | 0–2 | Jul 2008 | Spain F27 | Futures | Clay | Gerard Granollers Pujol | Stephan Fransen
Romano Frantzen | 6–7(2–7), 3–6 |
Win | 1–2 | Aug 2008 | Spain F31 | Futures | Clay | Gerard Granollers Pujol | Thomas Cazes-Carrère
Romain Jouan | 6–7(5–7), 7–6(7–5), [10–6] |
Win | 2–2 | Oct 2008 | Spain F39 | Futures | Clay | Gerard Granollers Pujol | David Ollivier-Baquero
Carlos Rexach-Itoiz | 7–5, 3–6, [10–7] |
Win | 3–2 | Jan 2009 | Spain F1 | Futures | Clay | Gerard Granollers Pujol | Dustin Brown
Peter Steinberger | 6–3, 7–5 |
Win | 4–2 | May 2011 | Spain F14 | Futures | Clay | Miguel Ángel López Jaén | Allen Perel
Gabriel Trujillo Soler | 4–6, 6–2, [10–3] |
Win | 5–2 | Jun 2011 | Netherlands F2 | Futures | Clay | Pablo Galdón | Timo Nieminen
Juho Paukku | 6–0, 7–6(7–3) |
Win | 6–2 | Mar 2012 | Rabat, Morocco | Challenger | Clay | Federico Delbonis | Martin Kližan
Stéphane Robert | 6–7(3–7), 6–3, [10–5] |
Loss | 6–3 | Mar 2012 | Marrakech, Morocco | Challenger | Clay | Federico Delbonis | Martin Kližan
Daniel Muñoz de la Nava | 3–6, 6–1, [10–12] |
Win | 7–3 | Aug 2014 | Vicenza, Italy | Challenger | Clay | Juan Lizariturry | Lee Hsin-han
Vahid Mirzadeh | 7–5, 3–6, [10–8] |
Loss | 7–4 | Mar 2015 | Egypt F9 | Futures | Hard | Mark Vervoort | Karol Drzewiecki
Maciej Smoła | 3–6, 6–4, [4–10] |
Loss | 7–5 | Jun 2015 | Fürth, Germany | Challenger | Clay | Renzo Olivo | Guillermo Durán
Horacio Zeballos | 1–6, 3–6 |
Loss | 7–6 | Sep 2015 | Rome, Italy | Challenger | Clay | Mark Vervoort | Tomasz Bednarek
Mateusz Kowalczyk | 2–6, 1–6 |
Win | 8–6 | Oct 2015 | Mohammedia, Morocco | Challenger | Clay | Mark Vervoort | Roberto Carballés Baena
Pablo Carreño Busta | 3–6, 7–6(7–2), [12–10] |
Win | 9–6 | Sep 2016 | Seville, Spain | Challenger | Clay | Oriol Roca Batalla | Ariel Behar
Enrique López Pérez | 6–2, 6–5 ret. |
Win | 10–6 | Aug 2017 | Spain F27 | Futures | Clay | Daniel Gimeno Traver | Alejandro Davidovich Fokina
Alexis Klégou | 4–6, 7–5, [10–6] |
Win | 11–6 | Sep 2017 | Seville, Spain | Challenger | Clay | Pedro Cachin | Ivan Gakhov
David Vega Hernández | 7–6(7–5), 3–6, [10–5] |
Win | 12–6 | Oct 2019 | M25 Riba-roja de Túria, Spain | World Tennis Tour | Clay | Oriol Roca Batalla | Nicolás Alberto Arreche
Franco Feitt | 6–2, 6–1 |
Win | 13–6 | Mar 2020 | M25 Murcia, Spain | World Tennis Tour | Clay | Oriol Roca Batalla | Sergio Martos Gornés
David Pérez Sanz | 7–6(7–3), 6–3 |
Abandoned | 13–6 | Mar 2020 | M15 Antalya, Turkey | World Tennis Tour | Clay | Oriol Roca Batalla | Peter Heller
Peter Torebko | cancelled due to pandemic |
Loss | 13–7 | Oct 2020 | Alicante, Spain | Challenger | Clay | Oriol Roca Batalla | Enzo Couacaud
Albano Olivetti | 6–4, 4–6, [2–10] |
Win | 14–7 | Nov 2020 | Lima, Peru | Challenger | Clay | Oriol Roca Batalla | Collin Altamirano
Vitaliy Sachko | 6–3, 6-4 |
Loss | 14–8 | Nov 2020 | M15 Madrid, Spain | World Tennis Tour | Clay | Oriol Roca Batalla | Facundo Díaz Acosta
Gerardo López Villaseñor | 6–7(4–7), 6–2, [6–10] |
Loss | 14–9 | Feb 2021 | M25 Villena, Spain | World Tennis Tour | Hard | Mark Vervoort | Dan Added
Arjun Kadhe | 4–6, 2–6 |
Win | 15–9 | Apr 2022 | Murcia, Spain | Challenger | Clay | Oriol Roca Batalla | Pedro Cachin
Martín Cuevas | 6–7(4–7), 7–6(7–4), [10–7] |
Win | 16–9 | Jun 2022 | M25 La Nucia, Spain | World Tennis Tour | Clay | Oriol Roca Batalla | Álvaro López San Martín
Alex Marti Pujolras | 6–2, 2–6, [13–11] |
Win | 17–9 | Jul 2022 | Troyes, France | Challenger | Clay | Oriol Roca Batalla | Thiago Agustín Tirante
Juan Bautista Torres | 6-1, 6-2 |
Win | 18–9 | Aug 2022 | M25 Santander, Spain | World Tennis Tour | Clay | Sergi Pérez Contri | Titouan Droguet
Grégoire Jacq | 6–3, 6–4 |
Win | 19–9 | Sep 2022 | M25 Oviedo, Spain | World Tennis Tour | Clay | Oriol Roca Batalla | Álvaro López San Martín
Carlos Sánchez Jover | 6–2, 6–2 |
Win | 20–9 | Mar 2023 | M25 Torello, Spain | World Tennis Tour | Clay | Oriol Roca Batalla | John Echeverria
Alejandro Moro Cañas | 7–5, 6–4 |
Loss | 20–10 | Mar 2023 | Girona, Spain | Challenger | Clay | Oriol Roca Batalla | Yuki Bhambri
Saketh Myneni | 4–6, 4–6 |
Loss | 20–11 | May 2023 | M25 Sabadell, Spain | World Tennis Tour | Clay | Oriol Roca Batalla | Sascha Gueymard Wayenburg
Grégoire Jacq | 4–6, 3–6 |
Win | 21–11 | Jun 2023 | Troisdorf, Germany | Challenger | Clay | Oriol Roca Batalla | Manuel Guinard
Grégoire Jacq | 6–2, 7–6(7–1) |