Il signe début 2000 chez le géant Benfica pour 200 000 euros. Après un certain temps d'adaptation, il réussit à s'imposer aux côtés de Pierre van Hooijdonk, la star néerlandaise, la saison suivante. Il réussit ensuite même à pousser le Oranje sur le banc des remplaçants.
Durant l'été2001, le Betis Séville engage le portugais pour environ 4,5 millions d'euros. En Espagne, il n'est pas toujours titulaire et n'a pas toujours la confiance de l'entraîneur, Juande Ramos. Il joue tout de même 20 matchs et marque 7 buts et le club andalou se qualifie pour la Coupe UEFA.
Lors de la saison 2002-03, l'entraîneur change et est remplacé par Víctor Fernández qui ne le fait presque pas jouer.
Les 2 saisons suivantes, il est prêté et retrouve petit à petit son efficacité. Il marque ainsi 15 buts pour le club de Braga lors de la saison 2004-2005. Il marque notamment les esprits en marquant 2 buts importants lors de la victoire 3-1 face au FC Porto à l'Estádio do Dragão. Cette défaite provoque la démission de l'entraîneur de Porto, un certain Víctor Fernández. En 2005, il est en fin de contrat au Bétis et choisit de prolonger l'aventure à Braga.
L'année suivante, il effectue un pige d'une saison au Qatar où il marque 22 buts en 20 matchs toutes compétitions confondues. Il finit tout de même 3e meilleur buteur du championnat et 4e du championnat.
Après un retour d'une saison à Braga, il signe en juillet 2008 un contrat d'un an avec le Boavista FC, qui vient d'être relégué en Liga de Honra. Avec 12 buts, il est le meilleur buteur du club pour la saison 2008-2009 mais ne peut empêcher la relégation du club en II Divisão.
Il honore sa première sélection en équipe du Portugal le lors d'un match contre Israël (victoire 2-1).
Après 5 ans et demi d'absence de la Selecao, il est rappelé par Luiz Felipe Scolari pour le match amical du contre le Koweït. Il marque à cette occasion son 1er but international.
Au total, João Tomás compte 4 sélections et 1 but en équipe nationale.