Zé Rafael scored his first senior goal on 27 February 2014, netting the first in a 2–1 home win against Passo Fundo. Upon returning, he only featured rarely before joining Londrina on loan on 5 May 2015, with Paulinho moving in the opposite direction.[3]
Zé Rafael became a regular starter at the Tubarão, helping in their promotion to Série B with two goals. He subsequently returned to Coxa, but after failing to make an appearance, he requested to leave and returned to Londrina on 11 February 2016, on loan until December.[4]
Zé Rafael was an undisputed starter during the second division, scoring four goals in 32 appearances as his side finished sixth, three points away from another promotion; highlights included a brace in a 2–1 away win against Vila Nova.
Bahia
On 6 January 2017, Zé Rafael signed a three-year deal with Bahia, in the first division.[5] He immediately became a starter for the new side, winning the 2017 Copa do Nordeste.
Zé Rafael scored his first top tier goal on 14 May 2017, netting the equalizer in a 6–2 home routing of Atlético Paranaense. He only missed two league matches in his first season, both due to suspension, and also won the 2018 Campeonato Baiano.[6]
Palmeiras
Zé Rafael signed a five-year deal with Palmeiras on 29 November 2018;[7] the signing cost R$ 14.5 million for Palmeiras and became the biggest sale in Bahia's history.[8] After the arrival of Vanderlei Luxemburgo as coach, he was moved back to a defensive midfielder position.[9]
Established as a regular starter, Zé Rafael won two Copa Libertadores titles with Verdão, being a first-choice in both campaigns. He renewed his contract until 2025 on 6 January 2023,[10] and further extended his link for another year exactly one year later.[11]
After the arrival of new signing Aníbal Moreno and the proeminence of Richard Ríos, Zé Rafael played most of the 2024 Campeonato Paulista as a left midfielder.[12] He reached 300 matches for the club in July of that year,[13] but struggled with injuries throughout the season, subsequently losing his starting spot.[14]