Bruma speelde in de jeugd van Excelsior, alvorens hij in 2006 naar Feyenoord vertrok. Bruma verruilde op vijftienjarige leeftijd de B1 van Feyenoord voor de jeugdopleiding van Chelsea. Hij tekende een contract voor vier jaar met een waarde van 1,2 miljoen. Omdat hij nog niet ouder dan zestien jaar was kon Feyenoord niet meer dan een vastgestelde opleidingsvergoeding voor de transfer vragen.
Vanaf de voorbereiding op seizoen 2009/10 trainde Bruma bij de hoofdselectie van Chelsea. Op 15 september 2009 zat hij voor het eerst op de reservebank bij het eerste van Chelsea, in een wedstrijd voor de Champions League tegen FC Porto. Op 24 oktober 2009 maakte Bruma op 17-jarige leeftijd zijn debuut in de Premier League. In de 68e minuut van een thuiswedstrijd tegen Blackburn Rovers FC viel hij in voor Ricardo Carvalho.
In september 2010 verlengde hij zijn contract tot aan de zomer van 2014.[3] Op 23 november 2010 startte hij in de basis in een Champions League-duel tegen MŠK Žilina, nadat trainer Carlo Ancelotti besloot jeugd- en reservespelers op te stellen in de wetenschap dat Chelsea zich al gekwalificeerd had voor de volgende ronde. Op 2 januari 2011 startte hij voor het eerst in de basis in de Premier League, tegen Aston Villa.
Chelsea verhuurde Bruma op 11 februari 2011 aan Leicester City, waar op dat moment ook landgenoot Patrick van Aanholt speelde. Chelsea verhuurde hem op 14 juni 2011 voor twee seizoenen aan Hamburger SV, waarmee hij ging spelen in de Bundesliga. Bij 'HSV' speelde hij samen met onder anderen landgenoten Eljero Elia en Romeo Castelen.
PSV
Op 27 juni 2013 maakte PSV bekend dat de club Bruma voor vier jaar had vastgelegd.[4] Hij kon niet direct tekenen omdat hij niet door de eerste medische keuring was gekomen. Hierna werd een nieuwe keuring verricht. Op 13 juli 2013 gaven de artsen groen licht en verklaarden ze dat het hart van Bruma geschikt was voor topsport. PSV betaalde ruim 2 miljoen euro aan Chelsea voor de transfer. Chelsea bedong een terugkoopclausule van 5 miljoen euro.[5] Bruma was bij PSV direct basisspeler en bleef dat ook gedurende de seizoenen 2014/2015 en 2015/16. Hij vierde op 18 april 2015 het behalen van zijn eerste landskampioenschap met de Eindhovense club, die zeventien punten voor nummer twee Ajax eindigde. Hierdoor speelde hij in het daaropvolgende seizoen voor de tweede keer in zijn carrière in het hoofdtoernooi van de Champions League. Hij kwam met PSV tot de achtste finales en speelde in alle wedstrijden mee. Bruma verlengde in februari 2016 zijn contract bij de Eindhovense club tot medio 2018.[6] Hij werd op 8 mei 2016 voor de tweede keer op rij landskampioen met PSV. De club begon ditmaal aan de laatste speelronde van het seizoen met evenveel punten als Ajax, maar met een doelsaldo dat zes doelpunten minder was. PSV won die dag vervolgens met 1-3 uit bij PEC Zwolle, terwijl Ajax uit bij De Graafschap met 1-1 gelijkspeelde.
VfL Wolfsburg
Bruma tekende in juni 2016 een contract tot medio 2021 bij VfL Wolfsburg, de nummer acht van de Bundesliga in het voorgaande seizoen.[7][8] De Duitse club betaalde circa €13.500.000,- voor hem aan PSV.[9] Bruma werd ook bij Wolfsburg direct basisspeler en speelde tot maart 2017 twintig competitiewedstrijden. Daarna stond hij acht maanden aan de kant met een knieblessure. Hij maakte op 16 december 2017 zijn rentree. Het lukte Bruma vervolgens niet om zijn basisplaats terug te veroveren. Wolfsburg verhuurde hem in januari 2019 voor een halfjaar aan FC Schalke 04. Na zijn terugkeer maakte hij een halfjaar deel uit van de selectie, waarna hij in januari 2020 opnieuw werd verhuurd. Deze keer sloot hij tijdelijk aan bij FSV Mainz 05. In het seizoen 2020/21 kwam hij enkel in een bekerwedstrijd in actie voor Wolfsburg. Medio 2021 liep zijn contract af. Hierna ging hij transfervrij naar Kasımpaşa SK. Bruma veroverde een basisplaats bij de Turks club en hield die vast tot hij in december 2021 opnieuw een blessure opliep. Die kostte hem deze keer drie maanden.
Terug naar Nederland
Bruma speelde ook de eerste helft van 2022/23 voor Kasımpaşa, maar liet daarna zijn contract ontbinden. Hij tekende in januari 2023 vervolgens voor zes maanden bij sc Heerenveen.[10] Dat was op zoek naar een vervanger voor de geblesseerde Sven van Beek. Bruma's contract werd daarna niet verlengd. Daarop tekende hij in juli 2023 voor een jaar bij RKC Waalwijk.[11]
Bruma debuteerde in augustus 2009 als invaller voor Jong Oranje in een wedstrijd tegen Jong Engeland. Op 4 september 2009 kreeg hij van coach Cor Pot een basisplaats in een kwalificatieduel tegen Jong Finland. Met zeventien jaar was Bruma op dat moment de jongste speler van het team.
Bruma debuteerde op 11 augustus 2010 in het Nederlands voetbalelftal in een oefeninterland tegen Oekraïne. Toenmalig bondscoach Bert van Marwijk gunde 22 van de 23 spelers van de selectie van het Wereldkampioenschap voetbal 2010 rust en selecteerde in plaats van hen zeventien anderen, waaronder Bruma. Op 8 juni 2011 kreeg Bruma weer speelminuten aangewezen. Hij verving de geblesseerde Joris Mathijsen, die in de kleedkamer achterbleef tijdens een duel om de Copa Confraternidad met Uruguay, waarin het team van Bruma verloor na een strafschoppenreeks (5-3).
Guus Hiddink was op 11 november 2014 de derde bondscoach die Bruma opriep voor Oranje, voor een kwalificatiewedstrijd voor het EK 2016 tegen Letland. Dit nadat Bruno Martins Indi zich ziek afmeldde. Bruma speelde de volledige wedstrijd en schoot in de 77ste minuut de 4–0 binnen, zijn eerste interlandgoal. De wedstrijd eindigde in 6–0. Tijdens deze kwalificatiereeks speelde Bruma in totaal vijfmaal.
Bruma kreeg speeltijd tijdens vier van de in 2016 gespeelde kwalificatieduels voor het WK 2018. Daarna werd hij in 2018 en 2019 niet geselecteerd voor de UEFA Nations League, noch voor de kwalificatieduels voor het EK 2020.
Bruma werd geboren als Jeffrey van Homoet. Zijn oudere broer Marciano en neef Kyle Ebecilio zijn ook actief (geweest) als profvoetballer. Zijn ouders wonen in Brazilië. Voormalig voetballer Fabian Wilnis is zijn oom. Voetballer Noa Lang is een neef van Bruma.[13]