È ambidestro e può giocare come prima o seconda punta. È dotato di un ottimo fiuto per il gol, avendo un buon senso della posizione nei pressi dell'area. Dotato di una discreta tecnica di base, è anche bravo nel gioco aereo.
Carriera
Club
Nacional
Cresciuto nelle giovanili del Nacional, esordisce in prima squadra in Nacional-Rentistas (0-3) nel luglio del 2006. In seguito segna 12 gol in 20 partite giocate.
Sampdoria
Il 22 luglio 2008 si trasferisce per 3 milioni di euro, con un contratto quinquennale da 300 000 euro a stagione, alla Sampdoria,[3] che acquista l'intero cartellino del giocatore ma ha l'obbligo, in caso di cessione futura (sempre a titolo definitivo) dell'attaccante a una terza società, di versare al Nacional il 50% del ricavato, detratti i 3 milioni di euro versati per il suo cartellino.[4]
Esordisce in Serie A il 14 settembre 2008 allo Stadio Olimpico di Roma in Lazio-Sampdoria (2-0) subentrando al 75' a Paolo Sammarco. Il 18 settembre mette a segno il suo primo gol con la maglia blucerchiata realizzando la rete del 5-0 contro i lituani del FBK Kaunas nel primo turno di Coppa UEFA 2008-2009.[5] Nella gara di ritorno segnerà il suo secondo gol nelle file liguri che consentirà alla Sampdoria di battere il FBK Kaunas 2-1 in Lituania.
Il terzo gol di Fornaroli è stato siglato su rigore in Sampdoria-Empoli (2-1), valevole per l'accesso ai quarti di finale della Coppa Italia. In sei mesi in maglia blucerchiata Bruno colleziona 5 presenze in Serie A, 4 presenze e 2 gol in Coppa UEFA e 1 presenza e 1 gol in Coppa Italia.
San Lorenzo e Recreativo de Huelva
Il 12 febbraio 2009 passa agli argentini del San Lorenzo in prestito semestrale con diritto di riscatto dell'intero cartellino.
Conclusa la stagione torna alla Sampdoria. Fino al mese di novembre, non viene mai convocato nella prima squadra, e così gioca spesso come fuoriquota nelle file della squadra primavera, segnando anche 4 gol in 2 incontri.
Fa ritorno in prima squadra il 6 novembre 2010, di fatto per sostituire Antonio Cassano messo fuori rosa pochi giorni prima. Esordisce in campionato la domenica successiva in Sampdoria-Catania, subentrando a Guido Marilungo nei minuti finali; al suo ingresso in campo il pubblico blucerchiato lo accoglie con applausi e cori (il giocatore infatti, benché non avesse giocato molto per il club, aveva lasciato una buona impressione ai tifosi).
Ritorno al Nacional
Il 26 gennaio 2011 viene annunciato il suo passaggio in prestito al Nacional Montevideo;[6] nella sua ex squadra va a segno per 4 volte in 9 partite.
Secondo ritorno alla Samp
Il 27 luglio 2011 rientra alla Sampdoria tornando ad allenarsi insieme ai compagni nel ritiro di Moena. Debutta in Serie B il 30 agosto in Livorno-Sampdoria 0-0 subentrando al compagno Bertani al minuto 89 e gioca la sua prima da titolare il 1º novembre nel 2-0 contro il Crotone. All'annuncio della formazione il suo nome viene accolto da un'autentica ovazione, mentre tutti i suoi compagni vengono fischiati. Risulta uno dei migliori in campo, sfornando peraltro l'assist per il primo gol. Esce per infortunio tra gli applausi del Luigi Ferraris.
Conclude la stagione con 11 presenze in campionato senza gol segnati.
Panathinaikos
Il 18 luglio 2012 la Samp lo cede a titolo definitivo agli uruguaiani del Boston River[7], squadra militante nella Segunda División; soltanto tre giorni dopo però la squadra di Montevideo lo cede a sua volta, sempre a titolo definitivo, ai greci del Panathīnaïkos, con i quali Bruno firma un contratto triennale.[8]
Il 2 settembre 2013 il club ufficializza la rescissione del contratto delle prestazioni sportive del giocatore.[9]
Danubio
L'8 gennaio 2014 firma un contratto con il Danubio. Esordisce con la nuova maglia il 4 febbraio nella partita Danubio - Cerro Largo, dove subentra al 57'. Segna la prima rete nel match Juventud - Danubio (8 marzo 2014, 2-3).
Melbourne City
Il 10 agosto del 2015 viene ingaggiato dagli australiani del Melbourne City[10]; in quella stessa stagione diviene il capocannoniere dell'A-League con 23 reti e viene anche votato come miglior giocatore del torneo[11], trascinando il Melbourne fino alle semifinali dove verrà eliminato dall'Adelaide United.[12] L'8 agosto 2016 gli viene prolungato il contratto fino al giugno del 2019.
[13]
Il 22 marzo 2019, a quasi un mese dalla rescissione con il Melbourne City, firma con il Perth Glory.[15] Aggregato alla squadra già nella fase finale del campionato, viene ufficialmente tesserato il 1 luglio 2019.
Nazionale
Dopo avere espresso il proprio gradimento per diventare cittadino australiano nel 2018,[16] nel 2022 ottiene la cittadinanza.[17] Viene convocato per la prima volta dall'Australia nel marzo 2022, il 24 del mese stesso fa il suo esordio nella sconfitta per 0-2 contro il Giappone.[18]