Bernardo started his career at Audax São Paulo, before moving to Red Bull Brasil, the Brazilian Red Bull GmbH football team, in 2012. He made three appearances for the Red Bulls in the 2014 edition of the Campeonato Paulista Série A2, before being sent out on loan to Ponte Preta. He failed to make a single appearance for the Macaca, being selected three times for the bench, before being sent back to the Red Bulls.
Bernardo joined Red Bull Salzburg on 1 January 2016 from Red Bull Brasil.[4] He made his Red Bull's debut on 7 February 2016 in the 2–1 Bundesliga victory over Admira.
Bernardo was sent off in only his third Bundesliga game, against Rheindorf Altach for a second bookable offence.[5]
Bernardo joined RB Leipzig on 28 August 2016 for a reported fee of £3.4m.[6]
Bernardo made 32 appearances for Leipzig in his first season including playing in all 6 Champions League games. In his second season, he played 27 games for Leipzig.
Brighton & Hove Albion
On 5 July 2018, Bernardo joined Brighton & Hove Albion from Leipzig for £9 million.[7] Bernardo made his debut for the Sussex club on 11 August in a 2–0 away loss to Watford. He made a total of 22 Premier League appearances in his first season with Brighton. He scored his first goal for The Seagulls on 17 September 2020 in a 4–0 home victory over Portsmouth in the EFL Cup.[8]
Loan to Red Bull Salzburg
On 19 January 2021, Bernardo returned to Red Bull Salzburg on a loan until the end of the season.[9] 5 days later he made his return to action for Salzburg coming on as a substitute in the 61st minute in a 2–0 away win at SCR Altach, in what also happened to be his 100th league appearance of his career.[10] On 27 January, Bernardo made his first start on his return in his second appearance starting in a 3–0 home victory over SV Ried, going off injured in the 61st minute after being caught up in a rumble.[11] He returned to action on 13 March, coming on as a substitute in a 3–1 home victory over Admira.[12] On 1 May Bernardo came on as a 77th minute substitute replacing Zlatko Junuzović in the 2020–21 Austrian Cup Final, coming on 2–0 up over LASK, eventually winning the final 3–0 with an 88th minute goal scored by Enock Mwepu. This Bernardo's second Austrian Cup title with the club after winning the 2015–16 competition where he played whole match of that final.[13] Bernardo scored his first goal since his return on the 22 May, the last game of the season, as the already confirmed champions thrashed WSG Wattens 4–0 at home, with the return of fans in the game described by the Salzburg website as a 'Title Party.'[14]
Permanent return to Red Bull Salzburg
Bernardo signed for Salzburg on a permanent deal on 2 July 2021 after a successful loan spell in the second half of the previous season.[15]
On 16 July 2021, Bernardo scored the opener in the Austrian Cup in a 4–1 away win against WSC Hertha Wels.[16] Bernardo helped Salzburg to a fourth consecutive double – his third overall with the club – and a ninth consecutive league title with another successful campaign.[17][18]
VfL Bochum
On 2 August 2023, Bernardo signed a two-year contract with VfL Bochum in Bundesliga.[19] He finished his first season at Bochum in 2023–24 as the player with most duels won in the league in 504 occasions.[20]