Bubnjić speelde in de jeugd voor Daruvar, Kamen Sirać en Slaven Belupo. Tijdens de eerste helft van het seizoen 2011/12 werd hij uitgeleend aan NK Koprivnica. Hij debuteerde voor Slaven Belupo op 16 maart 2012 tegen Osijek. Op 6 mei 2012 scoorde hij zijn eerste doelpunt in de Kroatische competitie tegen Rijeka. In september 2012 tekende hij een contract bij Udinese, waarbij hij zich in juni 2013 daadwerkelijk aansloot. Udinese leende de Kroaat in 2015 uit aan Carpi FC 1909 voor een seizoen. In 2016 was hij op proef bij FC Groningen, maar daar werd hij niet fit genoeg bevonden. Hij ging per direct terug naar Udinese.
Bubnjić maakte in 2013 zijn debuut voor het Kroatisch nationaal elftal. Op 10 september 2013 werd hij opgesteld als basisspeler in een oefeninterland tegen Zuid-Korea.