João Souza började spela tennis vid nio års ålder. År 2005 flyttade han till Rio de Janeiro , där han tränade med Ricardo Acioly , som vann flera ATP-dubbeltitlar i slutet av 1980-talet och var kapten för det brasilianska Davis Cup-laget från 1998 till 2003 . Samarbetet ledde snabbt till framgång. På juniorturnén kunde Souza vinna några turneringar i Sydamerika, vilket gjorde honom 51: a på juniorrankingen. Samtidigt har Souza spelat i framtida turneringar i vuxensektorn sedan 2004 och, efter att ha vunnit den första matchen, listades den för första gången på ATP: s världsranking i september 2005 . I oktober 2006 nådde han en framtida final för första gången och i maj 2007 vann han sin första framtida titel. Under det fortsatta året kunde han vinna ytterligare två framtida turneringar, och han kunde också fira sina första segrar vid Challenger- turneringar. År 2007 slutade han som nummer 313 på världsrankingen. 2008 vann Souza ytterligare två framtida titlar och i Challenger-turneringar nådde han tre semifinaler. Han försökte också kvalificera sig för en Grand Slam-turnering för första gången i år ; dock kom han bara igenom den andra kvalet. I december 2008 listades Souza för första gången bland de 200 bästa på världsrankingen. I februari 2009 fick han och hans landsmän Ricardo Hocevar ett wild card för ATP-turneringen i Costa do Sauípe . De eliminerades i första omgången mot Lucas Arnold Ker och Juan Mónaco . Efter att han misslyckats i semifinalen i en Challenger-turnering tre gånger under 2009 kunde Souza nå en final i Medellín för första gången i november 2009 . Han förlorade den i tre täta uppsättningar mot topp 100-spelaren Juan Ignacio Chela . I maj 2009 hade Souza redan vunnit en Challenger-titel i dubbel för första gången i Pereira .
I februari 2010 kunde han kvalificera sig för första gången för den individuella huvuddragningen i en ATP- turnering i Santiago de Chile . I den första omgången besegrade han Simon Greul , som var i 7: e position , varefter han avancerade till semifinalen med segrar över Pere Riba och Alberto Martín . Där hade han ingen chans mot topp 30-spelaren Juan Mónaco . Vid följande ATP-turnering i Costa do Sauípe kunde Souza tävla i huvuddragningen på grund av ett särskilt undantag utan kvalifikation. Han eliminerades dock i den första omgången mot Victor Hănescu . I april 2010 vann han sin första utmanare i Bogotá . Han besegrade Santiago Giraldo i semifinalen och Alejandro Falla i finalen, de två bästa colombianska spelarna på hemmamarken. Under den fortsatta säsongens gång missade Souza upprepade gånger hoppet till huvudfältet. Däremot vann han sin andra utmanartitel i september 2010 - igen i Bogotá - genom att besegra Reda El Amrani . Han gav inte upp en uppsättning under hela turneringen. Bara två veckor senare nådde han ytterligare en final, men i Quito var han tvungen att erkänna nederlag för den lokala hjälten Giovanni Lapentti i tre uppsättningar . I början av 2011 eliminerades Souza i den första omgången av kvalet till Australian Open . Vid ATP-turneringen i Santiago de Chile i februari 2011 besegrade han topp 100-spelaren Pablo Cuevas i första omgången , men förlorade sedan mot Máximo González i andra omgången . Även vid följande ATP-turnering i Costa do Sauípe eliminerades Souza i andra omgången. Nästa stora framgång uppnådde han i april 2011 vid Challenger-turneringen i Santos , där han först besegrade topp 100-spelaren Ricardo Mello i semifinalen och sedan vann finalen mot Diego Junqueira och därmed vann sin första titel i år. En månad senare mötte han Junqueira igen i en Challenger-final i Zagreb , men den här gången förlorade han i raka uppsättningar. I juli 2011 kvalificerade Souza sig till ATP-turneringen i Gstaad , där han förlorade i tre uppsättningar mot Frederico Gil i första omgången . En vecka senare kvalificerade han sig igen för en ATP-turnering i Kitzbühel ; där nådde han en ATP-semifinal för andra gången i sin karriär genom att bland annat slå topp 50-spelaren Pablo Andújar . Trots att han besegrades av den eventuella turneringsvinnaren Robin Haase i tre uppsättningar , gjorde han sig till topp 100 på världsrankingen för första gången. I augusti 2011 kunde Souza kvalificera sig för en Grand Slam-turnering för första gången vid US Open , men han eliminerades i den första huvudrundan mot Robby Ginepri . Vid den sista ATP-lerbanan för säsongen i Bukarest nådde han en kvartsfinal igen och besegrade bland annat topp 50-spelaren Tommy Robredo, som var femte . Efter att ha avslutat föregående år på nummer 104 på världsrankingen, blev Souza direkt kvalificerad vid Australian Open 2012; emellertid besegrades han av Matthew Ebden i första omgången . I dubblar nådde han dock den andra omgången på sidan av sin landsmän Ricardo Mello, som de förlorade mot de senare semifinalisterna Robert Lindstedt och Horia Tecau . Vid den följande ATP-turneringen i Viña del Mar nådde Souza kvartsfinalen efter att ha besegrat den åttonde placerade Filippo Volandri och den tidigare topp 10-spelaren Fernando González , där han eliminerades av Juan Ignacio Chela . Under den fortsatta säsongens seger vann han individuella tävlingar i Cali och Quito på Challenger Tour på lera . På sidan av Marcelo Demoliner säkrade han tre dubbla segrar på Challenger Tour under andra halvan av säsongen, alla i Brasilien. De vann först i Campinas i slutet av september innan de vann turneringarna i Rio de Janeiro och Porto Alegre i oktober inom två veckor . Nästa säsong följde ytterligare två gemensamma turneringssegrar i Santiago de Chile och São Paulo . Dessutom vann han singlarna 2013 i São José do Rio Preto , där han besegrade Alejandro González i raka uppsättningar i finalen. I början av säsongen hade Souza ytterligare en slutvinst mot González 2014, när han kunde besegra den igen i två uppsättningar i São Paulo . Turneringssegern var hans enda i individ som han lyckades på hårdbana. Med Marcelo Demoliner säkrade han sin sjunde karriärstitel i Quito i september på Challenger Tour i dubbel. 2015 stannade han på Challenger Tour för första gången sedan 2008 utan att vinna en titel i singel eller dubbel, men i april 2015 uppnådde han sin bästa världsledningsposition med 69: e plats. Han nådde också finalen i en dubbeltävling för första gången på World Tour . Vid sidan av Víctor Estrella flyttade han in i ATP-finalen i Quito , som de två förlorade mot Gero Kretschmer och Alexander Satschko med 5: 7 och 6: 7 (3: 7). Under Challenger-säsongen 2016 vann Souza de individuella tävlingarna i Cortina d'Ampezzo och Fano inom två veckor . Hans åttonde och nionde titelframgångar i individen var också hans sista, efterföljande säsonger var utan titelvinst för Souza. Efter att ha tappat de 200 bästa på världsrankingen med kort varsel 2016 sjönk det till 246: e plats i slutet av 2017. I slutet av 2018 listades den bara på 400: e plats och föll ännu längre tillbaka i början av 2019.
I mars 2019 avbröts Souza från Tennis Integrity Unit på anklagelser om korruption . Denna avstängning bekräftades i januari 2020, eftersom Integrity Unit såg det som bevisat att Souza upprepade gånger manipulerade och skjutit upp spel på ATP Challenger Tour och ITF Future-evenemang i Brasilien, Mexiko, USA och Tjeckien från 2015 till 2019. Dessutom uppfyllde Souza sina skyldigheter att rapportera kontaktbedrägerier till föreningen. Med förbudet förbjöds Souza för livet att aktivt delta i tennis eller till och med delta i en officiell turnering. Han dömdes också till att betala böter på 200 000 dollar.