Bruno Mendes was born in
Cruzeiro, São Paulo, and joined
Guarani's youth setup in 2007, aged 12. On 21 January 2012, aged just 17, he made his first team debut by coming on as a second-half
substitute in a 2–1
Campeonato Paulista home win against
Oeste. Bruno Mendes scored his first senior goal on 17 March 2012, netting the first in a 2–0 home defeat of
Mirassol. He immediately became a starter for the side, scoring four goals in 18 appearances as his side reached
the finals but lost to
Santos. In September 2012, Bruno Mendes signed for
Botafogo until the end of the following year. Bought outright by
HAZ Sport Agency from Guarani for a
R$7 million fee, HAZ used
Macaé as a proxy to register Bruno Mendes's registration rights. He made his debut for the club on 30 September, replacing
Clarence Seedorf late into a 2–0 away loss against
Bahia for the
Série A championship. Bruno Mendes scored his first goal for
Bota on 14 October 2012, netting the equaliser in a 1–1 away draw against
Grêmio. Five days later, he scored a brace in a 3–2 home win against
Vasco da Gama, and finished the month with five goals in six matches. In November 2012, former Guarani player
Andrei Frascarelli claimed the club owed him wages and asked the court to grant the rights of Bruno Mendes to him. Eventually Macaé assumed the debt, and paid Andrei R$580,000 to settle the case. On 15 July 2015, Mendes signed with Portuguese
Primeira Liga side
Vitória de Guimarães. ==Career statistics==