| Result | W–L | Date | Tournament | Tier | Surface | Partner | Opponents | Score |
|---|
| Win | 1–0 | Jun 2008 | Bosnia Herzegovina F4,Prijedor | Futures | Clay | Milan Bradarić | David Savić
Vilim Višak | 6–2, 6–3 |
| Win | 2–0 | Jul 2009 | Germany F11,Cologne | Futures | Clay | Ante Pavić | Daniel Caracciolo
Jacek Szygowski | 6–3, 7–6(7–2) |
| Loss | 2–1 | Oct 2010 | Turkey F10,Antalya | Futures | Hard | Nikola Ćaćić | Artem Smirnov
Róbert Varga | 4–6, 4–6 |
| Win | 3–1 | Oct 2010 | Croatia F8,Dubrovnik | Futures | Clay | Damir Džumhur | Kristijan Mesaroš
Marin Milan | 2–6, 6–1, [11–9] |
| Win | 4–1 | Aug 2011 | Croatia F7,Vinkovci | Futures | Clay | Marin Franjičević | Mislav Hižak
Blaž Rola | 3–6, 6–3, [10–7] |
| Loss | 4–2 | Nov 2011 | Turkey F32,Antalya | Futures | Hard | Ivan Bjelica | Damir Džumhur
Aldin Šetkić | 4–6, 3–6 |
| Win | 5–2 | Jan 2012 | Turkey F1,Antalya | Futures | Hard | Aldin Šetkić | Carl Bergman
Patrik Brydolf | 3–6, 7–6(7–2), [10–8] |
| Loss | 5–3 | Apr 2012 | Turkey F15,Antalya | Futures | Hard | Mislav Hižak | Marcus Daniell
Gero Kretschmer | 0–6, 2–6 |
| Loss | 5–4 | Aug 2012 | Croatia F8,Vinkovci | Futures | Clay | Aldin Šetkić | Mislav Hižak
Blaž Rola | 4–6, 6–7(3–7) |
| Win | 6–4 | Sep 2012 | Croatia F9,Osijek | Futures | Clay | Aldin Šetkić | Ivan Bjelica
Matej Sabanov | 6–4, 6–1 |
| Win | 7–4 | Dec 2012 | Turkey F47,Antalya | Futures | Hard | Dino Marcan | Andrei Ciumac
Volodymyr Uzhylovskyi | 6–1, 7–6(7–5) |
| Loss | 7–5 | Jan 2013 | Germany F3,Kaarst | Futures | Carpet (i) | Nikola Mektić | Stephan Fransen
Wesley Koolhof | 4–6, 6–7(6–8) |
| Win | 8–5 | Mar 2013 | Sarajevo, Bosnia/Herzegovina | Challenger | Hard (i) | Mirza Bašić | Karol Beck
Igor Zelenay | 6–3, 7–5 |
| Win | 9–5 | Mar 2013 | Croatia F5,Rovinj | Futures | Clay | Steven Diez | Nikolaus Moser
Tristan-Samuel Weissborn | 6–2, 6–2 |
| Win | 10–5 | Mar 2013 | Croatia F6,Vrsar | Futures | Clay | Mate Delić | Lukáš Maršoun
Dominik Süč | 2–6, 7–6(7–3), [10–8] |
| Win | 11–5 | Jun 2013 | Bosnia & Herzegovina F3,Doboj | Futures | Clay | Duje Kekez | Nerman Fatić
Ismar Gorčić | 6–3, 6–4 |
| Win | 12–5 | Aug 2013 | Serbia F8,Novi Sad | Futures | Clay | Duje Kekez | Ismar Gorčić
Ilija Vučić | 6–3, 7–6(7–1) |
| Win | 13–5 | Aug 2013 | Croatia F7,Čakovec | Futures | Clay | Duje Kekez | Francesco Borgo
Andrea Patracchini | 7–5, 6–1 |
| Win | 14–5 | Oct 2013 | Croatia F10,Solin | Futures | Clay | Mate Delić | Aleksandre Kondulukov
Alexey Kondulukov | 6–3, 4–6, [10–4] |
| Loss | 14–6 | Oct 2013 | Croatia F11,Dubrovnik | Futures | Clay | Mate Delić | Marek Michalička
Dominik Süč | 6–7(2–7), 1–6 |
| Loss | 14–7 | Dec 2013 | Croatia F17,Bol | Futures | Clay | Antonio Šančić | Nikola Ćirić
Goran Tošić | w/o |
| Win | 15–7 | Dec 2013 | Turkey F50,Antalya | Futures | Hard | Aldin Šetkić | Alban Meuffels
Lukas Mugevičius | 6–2, 6–1 |
| Win | 16–7 | Feb 2014 | Croatia F1,Zagreb | Futures | Hard (i) | Janez Semrajč | Dino Marcan
Antonio Šančić | 7–6(7–3), 7–6(9–7) |
| Loss | 16–8 | Mar 2014 | Turkey F6,Antalya | Futures | Hard | Bastian Trinker | Aldin Šetkić
Erik Crepaldi | 4–6, 4–6 |
| Win | 17–8 | May 2014 | Bosnia & Herzegovina F1,Doboj | Futures | Clay | Nikola Ćaćić | Ivan Milivojević
Bojan Zdravković | 6–1, 6–3 |
| Win | 18–8 | May 2014 | Bosnia & Herzegovina F2,Prijedor | Futures | Clay | Nikola Ćaćić | Darko Jandrić
Ante Marinčić | 6–3, 6–2 |
| Win | 19–8 | Jun 2014 | Bosnia & Herzegovina F4,Kiseljak | Futures | Clay | Ante Marinčić | Ljubomir Čelebić
Giorgio Portaluri | 6–2, 6–2 |
| Win | 20–8 | Aug 2014 | Italy F27,Appiano | Futures | Clay | Mirza Bašić | Yannik Reuter
Maxime Teixeira | 6–3, 6–4 |
| Win | 21–8 | Nov 2015 | Turkey F44,Antalya | Futures | Clay | Darko Jandrić | Tuna Altuna
Cem İlkel | 7–6(7–3), 6–3 |
| Win | 22–8 | Jan 2016 | Spain F1,Castelldefels | Futures | Clay | Gonçalo Oliveira | Samuel Bensoussan
Michal Schmid | 6–2, 3–6, [10–1] |
| Win | 23–8 | Feb 2016 | Spain F2,Paguera | Futures | Clay | Kamil Majchrzak | Carlos Taberner
Kento Yamada | 6–3, 6–4 |
| Win | 24–8 | Feb 2016 | Spain F3,Paguera | Futures | Clay | Gonçalo Oliveira | Pietro Rondoni
Jacopo Stefanini | 6–7(6–8), 6–3, [10–6] |
| Win | 25–8 | Jun 2016 | Netherlands F2,Breda | Futures | Clay | Kamil Majchrzak | Karim-Mohamed Maamoun
Ilija Vučić | 6–0, 6–2 |
| Win | 26–8 | Jul 2016 | France F12,Montauban | Futures | Clay | Caio Zampieri | Pedro Martínez
Lamine Ouahab | 6–1, 6–2 |
| Win | 27–8 | Jan 2017 | USA F3,Plantation | Futures | Clay | Nikola Ćaćić | Jaume Pla Malfeito
Miguel Semmler | 4–6, 6–1, [10–3] |
| Loss | 27–9 | Jan 2017 | USA F4,Sunrise | Futures | Clay | Nikola Ćaćić | Peter Torebko
Bastian Trinker | 6–7(3–7), 6–4, [7–10] |
| Win | 28–9 | Feb 2017 | Tunisia F7,Hammamet | Futures | Clay | Nikola Ćaćić | Oscar José Gutierrez
Nicolas Santos | 6–3, 6–2 |
| Win | 29–9 | Nov 2017 | Pune, India | Challenger | Hard | Ante Pavić | Pedro Martínez
Adrián Menéndez Maceiras | 6–1, 7–6(7–5) |
| Win | 30–9 | Mar 2018 | Italy F4,Santa Margherita di Pula | Futures | Clay | Milan Radojković | Franco Capalbo
Gerónimo Espín Busleiman | 6–3, 4–6, [10–7] |
| Win | 31–9 | Apr 2018 | Italy F7,Santa Margherita di Pula | Futures | Clay | Milan Radojković | Franco Capalbo
Gerónimo Espín Busleiman | 4–6, 6–3, [10–8] |
| Win | 32–9 | Jun 2018 | Poprad-Tatry, Slovakia | Challenger | Clay | Ante Pavić | Nikola Ćaćić
Luca Margaroli | 6–3, 4–6, [16–14] |
| Loss | 32–10 | Jul 2018 | Perugia, Italy | Challenger | Clay | Ante Pavić | Daniele Bracciali
Matteo Donati | 3–6, 6–3, [7–10] |
| Win | 33–10 | Jul 2018 | Padova, Italy | Challenger | Clay | Ante Pavić | Walter Trusendi
Andrea Vavassori | 6–3, 7–6(7–4) |
| Loss | 33–11 | Jan 2019 | Burnie, Australia | Challenger | Hard | Mirza Bašić | Lloyd Harris
Dudi Sela | 3–6, 7–6(7–3), [8–10] |
| Loss | 33–12 | Feb 2019 | Bergamo, Italy | Challenger | Hard (i) | Dustin Brown | Laurynas Grigelis
Zdeněk Kolář | 5–7, 6–7(7–9) |
| Loss | 33–13 | Apr 2019 | Barletta, Italy | Challenger | Clay | Tomislav Draganja | Denys Molchanov
Igor Zelenay | 6–7(1–7), 4–6 |
| Win | 34–13 | Jun 2019 | Milan, Italy | Challenger | Clay | Ante Pavić | Andrei Vasilevski
Andrea Vavassori | 7–6(8–6), 6–2 |
| Win | 35–13 | Jul 2019 | Perugia, Italy | Challenger | Clay | Ante Pavić | Rogério Dutra Silva
Szymon Walków | 6–4, 6–3 |
| Win | 36–13 | Aug 2019 | Cordenons, Italy | Challenger | Clay | Ante Pavić | Nikola Ćaćić
Antonio Šančić | 6–2, 6–3 |
| Win | 37–13 | Aug 2019 | L'Aquila, Italy | Challenger | Clay | Ante Pavić | Luca Margaroli
Andrea Vavassori | 6–3, 6–2 |
| Win | 38–13 | Sep 2019 | Biella, Italy | Challenger | Clay | Ante Pavić | Ariel Behar
Andrey Golubev | 7–6(7–2), 6–4 |
| Win | 39–13 | Sep 2020 | Forli, Italy | Challenger | Clay | Nikola Ćaćić | Andrea Vavassori
Andrey Golubev | 3–6, 7–5, [10–3] |
| Win | 40–13 | Oct 2020 | Parma, Italy | Challenger | Clay | Marcelo Arévalo | Ariel Behar
Gonzalo Escobar | 6–4, 6–4 |
| Loss | 40–14 | Apr 2021 | Belgrade, Serbia | Challenger | Clay | Nikola Ćaćić | Guillermo Durán
Andrés Molteni | 4–6, 4–6 |
| Win | 41–14 | Oct 2022 | Parma, Italy | Challenger | Clay | Nikola Ćaćić | Luis David Martínez
Igor Zelenay | 6–2, 6–2 |