La sua carriera inizia nella sua Sierra Leone, dove si è messo in mostra in una delle squadre principali del paese, il Kallon Football Club.
Dopo aver svolto un provino con i norvegesi del Fredrikstad e gli americani dei Portland Timbers,[2] Kamara è approdato in prestito in Svezia, giocando con tre squadre diverse nel giro di due stagioni: il Djurgården militante in Allsvenskan, il Frej in terza serie, e l'IFK Värnamo in Superettan. Proprio al Värnamo, durante la sua parentesi, realizza 6 reti in 10 partite.
L'IFK Norrköping mette gli occhi su di lui, facendogli firmare un contratto triennale. Gioca titolare in gran parte delle partite del campionato 2014, segnando 10 gol in 26 partite. Il 31 marzo 2015 Kamara è passato in prestito ai malesi dello Johor Darul Ta'zim, i quali avevano anche un'opzione d'acquisto.[3] Il prestito tuttavia è stato interrotto prematuramente, e già nel successivo mese di luglio l'attaccante sierraleonese è tornato ad essere un giocatore del Norrköping,[4] seppur impiegato spesso come riserva del duo d'attacco Kujović-Nyman. A fine stagione la squadra vince il campionato.
Il 26 febbraio 2016 l'IFK Norrköping ha reso noto che il giocatore soffre di un difetto cardiaco congenito, emerso durante un controllo medico di inizio anno. Allo stesso tempo è stato confermato che Kamara avrebbe saltato almeno l'intera stagione 2016, senza escludere un addio al calcio giocato.[5] Anche FIFA e UEFA hanno raccomandato uno stop al giocatore.[6]
Nonostante il problema al cuore diagnosticatogli dai medici europei, il club statunitense del D.C. United si interessa a lui. Kamara vola quindi oltreoceano per sottoporsi a ulteriori controlli, e l'11 maggio 2016 viene annunciato il suo ingaggio.[7] In occasione del suo debutto, avvenuto il 27 maggio 2016 sul campo dello Sporting Kansas City, ha segnato il gol partita 33 secondi dopo essere subentrato negli ultimi minuti di gioco. È stata la rete più veloce mai segnata in MLS da un debuttante.[8]
Dopo una parentesi in Moldavia, dove ha vinto il titolo nazionale 2018 con lo Sheriff Tiraspol, nel febbraio 2019 è approdato nella Superligaen danese al Vendsyssel fino al termine della stagione,[9] non riuscendo ad evitare la retrocessione.
A partire dall'annata 2019-2020 si è trasferito ad un'altra società danese, il Randers, a cui si è legato con un contratto triennale.[10]