João Paulo moved back to his native state on 2 October 2010, after agreeing to a deal with Mogi Mirim.
[3] On 15 April of the following year he joined Grêmio Barueri in Série B,[4] making his debut in the category on 20 May 2011, starting in a 0–1 away loss against Goiás.
On 16 May 2012, after impressing with Grêmio Catanduvense in Campeonato Paulista (despite appearing in only three matches), João Paulo signed for Bragantino.
[8] On 27 June 2014, João Paulo agreed a contract with Blumenau,[9] but on 2 July joined Atlético Sorocaba.
Hours after rescinding with CSA, João Paulo signed a three-month deal with Série A club Chapecoense.