João Silva est né dans la petite ville de Benedita (8 500 habitants en 2011) dans le comté d'Alcobaça à seulement vingt kilométres de l'océan Atlantique. Il grandit dans sa famille en tant que fils unique et commence le triathlon tout à fait par hasard en 2005, quand son enseignant de sport lui recommande de participer à un test d'identification de talents, dirigée par la Fédération portugaise de triathlon[1].
À cette époque, João nageait et pratiquait le cross-country mais ne prenait pas trop ces sports au sérieux, sa passion était alors le football. La fédération lui donnait un vélo qu'il ne possédait même pas à l'époque et conçu un programme d'entraînement adapté à son potentiel[1]. Il sera médaillé au championnat du monde juniors en 2006 et remporta par trois fois les championnats d'Europe espoirs (2008, 2010 et 2011)[1]. Dans le même temps, João étudie la médecine à la Nouvelle université de Lisbonne[2].