João Costa nasceu em Lisboa e realizou a formação académica, até ao Ano Propedêutico, em Almada. Aos dezoito anos, ingressou no Instituto Superior Técnico, poucos meses antes de integrar o elenco do Ballet Gulbenkian, como estagiário. Ao longo de catorze temporadas foi bailarino da companhia, alcançando a categoria de 2º Bailarino. Aos trinta e dois anos assumiu o cargo de Assistente da Direcção Artística, colaborando directamente com os três últimos directores artísticos do Ballet Gulbenkian – Jorge Salavisa, Iracity Cardoso e Paulo Ribeiro – até à extinção da companhia, em 2005. Posteriormente exerceu funções na Produção e Assistência ao Conselho Directivo, na Escola Superior de Dança do Instituto Superior Técnico. Em 2010, a convite de Luísa Taveira, tornou-se Adjunto da Direcção Artística da Companhia Nacional de Bailado, cargo que exerceu ao longo de seis temporadas.