| Loss | 0–1 | Jul 2003 | Austrian Open, Austria | Intl. Gold | Clay | Austria Jürgen Melzer | Czech Republic Martin Damm Czech Republic Cyril Suk | 4–6, 4–6 |
| Loss | 0–2 | May 2006 | Bavarian Championships, Germany | International | Clay | Germany Björn Phau | Romania Andrei Pavel Germany Alexander Waske | 4–6, 2–6 |
| Loss | 0–3 | Oct 2008 | Vienna Open, Austria | Intl. Gold | Hard (i) | Germany Philipp Petzschner | Belarus Max Mirnyi Israel Andy Ram | 1–6, 5–7 |
| Loss | 0–4 | Feb 2011 | Delray Beach Open, US | 250 Series | Hard | Germany Christopher Kas | United States Scott Lipsky United States Rajeev Ram | 6–4, 4–6, [3–10] |
| Loss | 0–5 | Apr 2011 | Serbia Open, Serbia | 250 Series | Clay | Austria Oliver Marach | Czech Republic František Čermák Slovakia Filip Polášek | 5–7, 2–6 |
| Win | 1–5 | Jul 2011 | German Open, Germany | 500 Series | Clay | Austria Oliver Marach | Czech Republic František Čermák Slovakia Filip Polášek | 6–4, 6–1 |
| Loss | 1–6 | Jul 2011 | Swiss Open, Switzerland | 250 Series | Clay | Germany Christopher Kas | Czech Republic František Čermák Slovakia Filip Polášek | 3–6, 6–7(7–9) |
| Loss | 1–7 | Aug 2011 | Winston-Salem Open, US | 250 Series | Hard | Germany Christopher Kas | Israel Jonathan Erlich Israel Andy Ram | 6–7(2–7), 4–6 |
| Win | 2–7 | Jan 2012 | Auckland Open, New Zealand | 250 Series | Hard | Austria Oliver Marach | Czech Republic František Čermák Slovakia Filip Polášek | 6–3, 6–2 |
| Loss | 2–8 | Jul 2012 | Swedish Open, Sweden | 250 Series | Clay | Brazil Bruno Soares | Sweden Robert Lindstedt Romania Horia Tecău | 3–6, 6–7(5–7) |
| Win | 3–8 | Sep 2012 | Malaysian Open, Malaysia | 250 Series | Hard (i) | Brazil Bruno Soares | United Kingdom Colin Fleming United Kingdom Ross Hutchins | 5–7, 7–5, [10–7] |
| Win | 4–8 | Oct 2012 | Japan Open, Japan | 500 Series | Hard | Brazil Bruno Soares | India Leander Paes Czech Republic Radek Štěpánek | 6–3, 7–6(7–5) |
| Win | 5–8 | Oct 2012 | Valencia Open, Spain | 500 Series | Hard (i) | Brazil Bruno Soares | Spain David Marrero Spain Fernando Verdasco | 6–3, 6–2 |
| Win | 6–8 | Feb 2013 | Brasil Open, Brazil | 250 Series | Clay (i) | Brazil Bruno Soares | Czech Republic František Čermák Slovakia Michal Mertiňák | 6–7(5–7), 6–2, [10–7] |
| Win | 7–8 | Apr 2013 | Barcelona Open, Spain | 500 Series | Clay | Brazil Bruno Soares | Sweden Robert Lindstedt Canada Daniel Nestor | 5–7, 7–6(9–7), [10–4] |
| Loss | 7–9 | May 2013 | Madrid Open, Spain | Masters 1000 | Clay | Brazil Bruno Soares | United States Bob Bryan United States Mike Bryan | 2–6, 3–6 |
| Loss | 7–10 | Jun 2013 | Queen's Club Championships, United Kingdom | 250 Series | Grass | Brazil Bruno Soares | United States Bob Bryan United States Mike Bryan | 6–4, 5–7, [3–10] |
| Win | 8–10 | Jun 2013 | Eastbourne International, United Kingdom | 250 Series | Grass | Brazil Bruno Soares | United Kingdom Colin Fleming United Kingdom Jonathan Marray | 3–6, 6–3, [10–8] |
| Loss | 8–11 | Jul 2013 | German Open, Germany | 500 Series | Clay | Brazil Bruno Soares | Poland Mariusz Fyrstenberg Poland Marcin Matkowski | 6–3, 1–6, [8–10] |
| Win | 9–11 | Aug 2013 | Canadian Open, Canada | Masters 1000 | Hard | Brazil Bruno Soares | United Kingdom Colin Fleming United Kingdom Andy Murray | 6–4, 7–6(7–4) |
| Loss | 9–12 | Sep 2013 | US Open, United States | Grand Slam | Hard | Brazil Bruno Soares | India Leander Paes Czech Republic Radek Štěpánek | 1–6, 3–6 |
| Win | 10–12 | Oct 2013 | Valencia Open, Spain (2) | 500 Series | Hard (i) | Brazil Bruno Soares | United States Bob Bryan United States Mike Bryan | 7–6(7–3), 6–7(1–7), [13–11] |
| Loss | 10–13 | Nov 2013 | Paris Masters, France | Masters 1000 | Hard (i) | Brazil Bruno Soares | United States Bob Bryan United States Mike Bryan | 3–6, 3–6 |
| Loss | 10–14 | Jan 2014 | Qatar Open, Qatar | 250 Series | Hard | Brazil Bruno Soares | Czech Republic Tomáš Berdych Czech Republic Jan Hájek | 2–6, 4–6 |
| Loss | 10–15 | Jan 2014 | Auckland Open, New Zealand | 250 Series | Hard | Brazil Bruno Soares | Austria Julian Knowle Brazil Marcelo Melo | 6–4, 3–6, [5–10] |
| Loss | 10–16 | Mar 2014 | Indian Wells Masters, United States | Masters 1000 | Hard | Brazil Bruno Soares | United States Bob Bryan United States Mike Bryan | 4–6, 3–6 |
| Win | 11–16 | Jun 2014 | Queen's Club Championships, United Kingdom | 250 Series | Grass | Brazil Bruno Soares | United Kingdom Jamie Murray Australia John Peers | 4–6, 7–6(7–4), [10–4] |
| Loss | 11–17 | Jun 2014 | Eastbourne International, United Kingdom | 250 Series | Grass | Brazil Bruno Soares | Philippines Treat Huey United Kingdom Dominic Inglot | 5–7, 7–5, [8–10] |
| Loss | 11–18 | Jul 2014 | German Open, Germany | 500 Series | Clay | Brazil Bruno Soares | Croatia Marin Draganja Romania Florin Mergea | 4–6, 5–7 |
| Win | 12–18 | Aug 2014 | Canadian Open, Canada (2) | Masters 1000 | Hard | Brazil Bruno Soares | Croatia Ivan Dodig Brazil Marcelo Melo | 6–4, 6–3 |
| Win | 13–18 | May 2015 | Bavarian Championships, Germany | 250 Series | Clay | Brazil Bruno Soares | Germany Alexander Zverev Germany Mischa Zverev | 4–6, 6–1, [10–5] |
| Loss | 13–19 | Jun 2015 | Stuttgart Open, Germany | 250 Series | Grass | Brazil Bruno Soares | India Rohan Bopanna Romania Florin Mergea | 5–7, 6–2, [10–7] |
| Loss | 13–20 | Sep 2015 | St. Petersburg Open, Russia | 250 Series | Hard (i) | Austria Julian Knowle | Philippines Treat Huey Finland Henri Kontinen | 5–7, 3–6 |
| Win | 14–20 | Nov 2015 | Swiss Indoors, Switzerland | 500 Series | Hard (i) | Brazil Bruno Soares | United Kingdom Jamie Murray Australia John Peers | 7–5, 7–5 |
| Loss | 14–21 | Jan 2016 | Qatar Open, Qatar | 250 Series | Hard | Germany Philipp Petzschner | Spain Feliciano López Spain Marc López | 4–6, 3–6 |
| Loss | 14–22 | Feb 2016 | Rotterdam Open, Netherlands | 500 Series | Hard (i) | Germany Philipp Petzschner | France Nicolas Mahut Canada Vasek Pospisil | 6–7(2–7), 4–6 |
| Loss | 14–23 | Feb 2016 | Mexican Open, Mexico | 500 Series | Hard | Germany Philipp Petzschner | Philippines Treat Huey Belarus Max Mirnyi | 6–7(5–7), 3–6 |
| Loss | 14–24 | Jun 2016 | Halle Open, Germany | 500 Series | Grass | Poland Łukasz Kubot | South Africa Raven Klaasen United States Rajeev Ram | 6–7(5–7), 2–6 |
| Loss | 14–25 | Jul 2016 | Washington Open, United States | 500 Series | Hard | Poland Łukasz Kubot | Canada Daniel Nestor France Édouard Roger-Vasselin | 6–7(3–7), 6–7(4–7) |
| Loss | 14–26 | Apr 2017 | Barcelona Open, Spain | 500 Series | Clay | Germany Philipp Petzschner | Romania Florin Mergea Pakistan Aisam-ul-Haq Qureshi | 4–6, 3–6 |
| Win | 15–26 | Sep 2017 | Shenzhen Open, China | 250 Series | Hard | United States Rajeev Ram | Croatia Nikola Mektić United States Nicholas Monroe | 6–3, 6–2 |
| Loss | 15–27 | Feb 2018 | Sofia Open, Bulgaria | 250 Series | Hard (i) | Croatia Nikola Mektić | Netherlands Robin Haase Netherlands Matwé Middelkoop | 7–5, 4–6, [4–10] |
| Loss | 15–28 | Feb 2018 | Rio Open, Brazil | 500 Series | Clay | Croatia Nikola Mektić | Spain David Marrero Spain Fernando Verdasco | 7–5, 5–7, [8–10] |
| Win | 16–28 | Apr 2018 | Grand Prix Hassan II, Morocco | 250 Series | Clay | Croatia Nikola Mektić | France Benoît Paire France Édouard Roger-Vasselin | 7–5, 3–6, [10–7] |
| Loss | 16–29 | May 2018 | Bavarian Championships, Germany | 250 Series | Clay | Croatia Nikola Mektić | Croatia Ivan Dodig United States Rajeev Ram | 3–6, 5–7 |
| Win | 17–29 | May 2018 | Madrid Open, Spain | Masters 1000 | Clay | Croatia Nikola Mektić | United States Bob Bryan United States Mike Bryan | 5–3, ret. |