| Loss | 0–1 | Nov 2005 | South Africa F2, Pretoria | Futures | Hard | South Africa Jason Pieters | South Africa Andrew Anderson South Africa Stephen Mitchell | 3–6, 4–6 |
| Loss | 0–2 | Jan 2006 | El Salvador F1, Nueva San Salvador | Futures | Clay | Israel Victor Kolik | Argentina Eduardo Schwank Uruguay Martín Vilarrubí | 2–6, 7–5, 0–6 |
| Win | 1–2 | Mar 2006 | China F5, Guangzhou | Futures | Hard | Netherlands Jesse Huta Galung | China Li Zhe China Xue Feng | 4–6, 6–3, 7–6(7–3) |
| Loss | 1–3 | Jun 2006 | Finland F1, Vierumäki | Futures | Clay | Kuwait Abdullah Maqdes | Estonia Mait Künnap Spain Jordi Marsé-Vidri | 4–6, 2–6 |
| Win | 2–3 | Sep 2006 | Italy F31, Porto Torres | Futures | Hard | United States Brian Wilson | Slovakia Viktor Bruthans Italy Marco Pedrini | 6–2, 6–3 |
| Loss | 2–4 | Oct 2006 | Australia F10, Traralgon | Futures | Hard | United States Philip Stolt | Australia Matthew Ebden Australia Brydan Klein | 3–6, 3–6 |
| Win | 3–4 | Oct 2006 | Australia F11, Melbourne | Futures | Hard | United States Philip Stolt | Australia Yuri Bezeruk Australia David Jeflea | 6–2, 5–7, [10–7] |
| Loss | 3–5 | Oct 2006 | Australia F12, Mildura | Futures | Grass | Australia Sadik Kadir | Australia Carsten Ball Australia Adam Feeney | 6–4, 6–7(4–7), [9–11] |
| Loss | 3–6 | Jan 2007 | USA F1, Tampa | Futures | Hard | Mexico Antonio Ruiz-Rosales | India Somdev Devvarman United States Treat Huey | 0–6, 6–7(7–9) |
| Loss | 3–7 | Jan 2007 | USA F2, North Miami Beach | Futures | Hard | Mexico Antonio Ruiz-Rosales | United States Tim Smyczek United States Ryan Sweeting | 3–6, 2–6 |
| Loss | 3–8 | Feb 2007 | Australia F2, Sydney | Futures | Hard | New Zealand Daniel King-Turner | Australia Luke Bourgeois Australia Adam Feeney | 6–7(3–7), 2–6 |
| Win | 4–8 | Mar 2007 | New Zealand F2, Hamilton | Futures | Hard | New Zealand Daniel King-Turner | Australia Carsten Ball Australia Dane Fernandez | 6–7(11–13), 7–6(7–5), 6–2 |
| Win | 5–8 | May 2007 | Great Britain F9, Bournemouth | Futures | Clay | France Olivier Charroin | United Kingdom Ian Flanagan United Kingdom Tom Rushby | 6–2, 6–4 |
| Win | 6–8 | May 2007 | Greece F1, Kos | Futures | Hard | Germany Ralph Grambow | El Salvador Rafael Arévalo Togo Komlavi Loglo | 6–3, 6–4 |
| Win | 7–8 | May 2007 | Greece F3, Kalamata | Futures | Carpet | Netherlands Antal van der Duim | United States Patrick Briaud Brazil Márcio Torres | 6–3, 6–2 |
| Loss | 7–9 | Aug 2007 | San Marino, San Marino | Challenger | Clay | Poland Tomasz Bednarek | Uruguay Pablo Cuevas Argentina Juan Pablo Guzmán | 1–6, 0–6 |
| Loss | 7–10 | Sep 2007 | Geneva, Switzerland | Challenger | Clay | France Olivier Charroin | Argentina Sebastián Decoud Russia Yuri Schukin | 3–6, 7–6(7–4), [4–10] |
| Win | 8–10 | Sep 2007 | Orléans, France | Challenger | Hard (i) | Germany Frank Moser | Poland Tomasz Bednarek Poland Michał Przysiężny | 6–1, 7–6(7–2) |
| Win | 9–10 | Feb 2008 | Wrocław, Poland | Challenger | Hard (i) | Czech Republic Lukáš Rosol | Austria Werner Eschauer Austria Jürgen Melzer | 6–7(7–9), 6–3, [10–7] |
| Loss | 9–11 | Feb 2008 | Bergamo, Italy | Challenger | Hard (i) | Slovakia Igor Zelenay | Italy Simone Bolelli Italy Andreas Seppi | 3–6, 0–6 |
| Loss | 9–12 | Jul 2008 | Córdoba, Spain | Challenger | Hard | Belgium Dick Norman | Sweden Johan Brunström Netherlands Antilles Jean-Julien Rojer | 4–6, 3–6 |
| Win | 10–12 | Aug 2009 | Cordenons, Italy | Challenger | Clay | United States Travis Rettenmaier | Australia Peter Luczak Italy Alessandro Motti | 4–6, 6–3, [11–9] |
| Loss | 10–13 | Mar 2010 | Marrakech, Morocco | Challenger | Clay | Canada Adil Shamasdin | Serbia Ilija Bozoljac Romania Horia Tecău | 1–6, 1–6 |
| Loss | 10–14 | May 2010 | Tunis, Tunisia | Challenger | Clay | Canada Adil Shamasdin | South Africa Jeff Coetzee Belgium Kristof Vliegen | 6–7(3–7), 3–6 |
| Win | 11–14 | May 2010 | Biella, Italy | Challenger | Clay | Canada Adil Shamasdin | Jamaica Dustin Brown Italy Alessandro Motti | 6–3, 2–6, [11–9] |
| Loss | 11–15 | Jun 2010 | Milan, Italy | Challenger | Clay | South Africa Jeff Coetzee | Italy Daniele Bracciali Spain Rubén Ramírez Hidalgo | 4–6, 5–7 |
| Loss | 11–16 | Jul 2010 | Poznań, Poland | Challenger | Clay | Canada Adil Shamasdin | Portugal Rui Machado Spain Daniel Muñoz de la Nava | 2–6, 3–6 |
| Loss | 11–17 | Aug 2010 | Cordenons, Italy | Challenger | Clay | Canada Adil Shamasdin | Netherlands Robin Haase Netherlands Rogier Wassen | 6–7(14–16), 5–7 |
| Loss | 11–18 | Aug 2010 | San Marino, San Marino | Challenger | Clay | Switzerland Yves Allegro | Italy Daniele Bracciali Croatia Lovro Zovko | 6–2, 2–6, [5–10] |
| Win | 12–18 | Sep 2010 | Banja Luka, Bosnia/Herzegovina | Challenger | Clay | Czech Republic David Škoch | Canada Adil Shamasdin Croatia Lovro Zovko | 6–1, 6–4 |
| Win | 13–18 | Feb 2011 | Quimper, France | Challenger | Hard (i) | Canada Adil Shamasdin | United Kingdom Jamie Delgado United Kingdom Jonathan Marray | 6–3, 5–7, [10–5] |
| Loss | 13–19 | Mar 2011 | Marrakech, Morocco | Challenger | Clay | Canada Adil Shamasdin | Australia Peter Luczak Italy Alessandro Motti | 6–7(5–7), 6–7(3–7) |
| Win | 14–19 | Aug 2011 | San Marino, San Marino | Challenger | Clay | Germany Philipp Marx | Italy Daniele Bracciali Austria Julian Knowle | 6–3, 6–4 |
| Loss | 14–20 | Nov 2011 | Eckental, Germany | Challenger | Carpet (i) | Canada Adil Shamasdin | Germany Andre Begemann Russia Alexander Kudryavtsev | 2–6, 6–3, [9–11] |
| Loss | 14–21 | Nov 2011 | Geneva, Switzerland | Challenger | Hard | Canada Adil Shamasdin | Russia Igor Andreev Russia Evgeny Donskoy | 6–7(1–7), 6–7(2–7) |
| Loss | 14–22 | Nov 2011 | Helsinki, Finland | Challenger | Hard (i) | Slovakia Michal Mertiňák | Germany Martin Emmrich Sweden Andreas Siljeström | 4–6, 4–6 |
| Win | 15–22 | Mar 2012 | Guadalajara, Mexico | Challenger | Hard | Canada Adil Shamasdin | Poland Tomasz Bednarek France Olivier Charroin | 7–6(7–5), 6–1 |
| Win | 16–22 | Nov 2012 | Eckental, Germany | Challenger | Carpet (i) | Canada Adil Shamasdin | Poland Tomasz Bednarek Sweden Andreas Siljeström | 6–3, 2–6, [10–4] |
| Win | 17–22 | Nov 2012 | Loughborough, Great Britain | Challenger | Hard (i) | Canada Adil Shamasdin | India Purav Raja India Divij Sharan | 6–4, 7–5 |
| Win | 18–22 | Jan 2013 | São Paulo, Brazil | Challenger | Hard | Canada Adil Shamasdin | Argentina Federico Delbonis Argentina Renzo Olivo | 6–7(5–7), 6–1, [11–9] |
| Loss | 18–23 | Apr 2013 | São Paulo, Brazil | Challenger | Clay | France Pierre-Hugues Herbert | Brazil Marcelo Demoliner Brazil João Souza | 4–6, 6–3, [6–10] |
| Loss | 18–24 | Aug 2013 | Vancouver, Canada | Challenger | Hard | Canada Adil Shamasdin | Israel Jonathan Erlich Israel Andy Ram | 1–6, 4–6 |
| Loss | 18–25 | Jun 2014 | Milan, Italy | Challenger | Clay | Germany Frank Moser | Argentina Guillermo Durán Argentina Máximo González | 3–6, 3–6 |
| Loss | 18–26 | Sep 2014 | Orléans, France | Challenger | Hard (i) | Sweden Andreas Siljeström | Brazil Thomaz Bellucci Brazil André Sá | 7–5, 4–6, [8–10] |
| Win | 19–26 | Apr 2015 | Le Gosier, Guadeloupe | Challenger | Hard | Netherlands Antal van der Duim | Netherlands Wesley Koolhof Netherlands Matwé Middelkoop | 6–1, 6–3 |
| Loss | 19–27 | Jun 2015 | Perugia, Italy | Challenger | Clay | Romania Costin Pavăl | Argentina Andrea Collarini Argentina Andrés Molteni | 3–6, 5–7 |
| Win | 20–27 | Mar 2016 | Drummondville, Canada | Challenger | Hard (i) | United States Max Schnur | United Kingdom Daniel Evans United Kingdom Lloyd Glasspool | 3–6, 6–3, [11–9] |
| Loss | 20–28 | Apr 2016 | Saint Brieuc, France | Challenger | Hard (i) | Netherlands Antal van der Duim | Australia Rameez Junaid Sweden Andreas Siljeström | 7–5, 6–7(4–7), [8–10] |
| Win | 21–28 | Apr 2016 | Le Gosier, Guadeloupe | Challenger | Hard | Netherlands Antal van der Duim | United States Austin Krajicek United States Mitchell Krueger | 6–2, 5–7, [10–8] |
| Win | 22–28 | Jul 2016 | Marburg, Germany | Challenger | Clay | Austria Philipp Oswald | Mexico Miguel Ángel Reyes-Varela United States Max Schnur | 6–3, 6–2 |
| Win | 23–28 | Jul 2016 | Braunschweig, Germany | Challenger | Clay | Austria Philipp Oswald | Poland Mateusz Kowalczyk Croatia Antonio Šančić | 4–6, 7–6(7–5), [10–2] |
| Win | 24–28 | Aug 2016 | Cortina d'Ampezzo, Italy | Challenger | Clay | Austria Philipp Oswald | Spain Roberto Carballés Baena Chile Christian Garín | 6–3, 6–2 |
| Loss | 24–29 | Oct 2016 | Budapest, Hungary | Challenger | Hard (i) | Austria Philipp Oswald | Belarus Aliaksandr Bury Sweden Andreas Siljeström | 6–7(3–7), 4–6 |
| Win | 25–29 | Jun 2017 | Caltanissetta, Italy | Challenger | Clay | United States Max Schnur | Ukraine Denys Molchanov Croatia Franko Škugor | 6–3, 3–6, [10–6] |
| Win | 26–29 | Aug 2017 | Vancouver, Canada | Challenger | Hard | United Kingdom Neal Skupski | Philippines Treat Huey Sweden Robert Lindstedt | 7–6(8–6), 6–2 |
| Loss | 26–30 | Nov 2017 | Knoxville, USA | Challenger | Hard (i) | Australia John-Patrick Smith | India Leander Paes India Purav Raja | 6–7(4–7), 6–7(4–7) |
| Win | 27–30 | Jan 2018 | Bangkok, Thailand | Challenger | Hard | United Kingdom Joe Salisbury | Spain Enrique López Pérez Spain Pedro Martínez | 6–7(5–7), 6–3, [10–8] |
| Win | 28–30 | Jan 2018 | Newport Beach, USA | Challenger | Hard | India Leander Paes | Philippines Treat Huey United States Denis Kudla | 6–4, 7–5 |
| Loss | 28–31 | Nov 2018 | Houston, USA | Challenger | Hard | El Salvador Marcelo Arévalo | United States Austin Krajicek United States Nicholas Monroe | 6–4, 6–7(3–7), [5–10] |
| Loss | 28–32 | Jan 2021 | Quimper, France | Challenger | Hard (i) | Switzerland Marc-Andrea Hüsler | France Grégoire Barrère France Albano Olivetti | 7–5, 6–7(7–9), [8–10] |
| Loss | 28–33 | Oct 2021 | Sibiu, Romania | Challenger | Clay | Switzerland Luca Margaroli | Austria Alexander Erler Austria Lucas Miedler | 3–6, 1–6 |
| Loss | 28–34 | Dec 2021 | Rio de Janeiro, Brazil | Challenger | Hard | Brazil Fernando Romboli | Brazil Orlando Luz Brazil Rafael Matos | 3–6, 6–7(2–7) |
| Loss | 28–35 | Apr 2025 | Tallahassee, US | Challenger | Clay (green) | United States George Goldhoff | Canada Liam Draxl Canada Cleeve Harper | 2–6, 3–6 |