Thomas Salles naît à Aurillac dans le Cantal, il grandit ensuite dans la commune voisine de Saint-Simon et il découvre le rugby à XV au sein du RC Saint-Simon[2],[3],[4]. Sa famille est très liée à ce club, le cousin de son père en a notamment été coprésident, son père y a évolué durant vingt-cinq ans en tant que joueur et cinq saisons en tant qu'entraîneur-joueur de l'équipe réserve, son frère ainé y joue au poste de demi d'ouverture tandis que ses deux cousins y ont joué dans la mêlée[3]. Au collège, il fait partie d'une section rugby puis par la suite[4], il rejoint le Stade aurillacois à partir de 2009 et intègre plus tard son centre de formation[2],[3].
Il est formé au poste de demi d'ouverture mais il peut évoluer à tous les postes des lignes arrières[5].
Débuts professionnels à Aurillac (2017-2021)
Thomas Salles fait ses débuts professionnels avec le Stade aurillacois lors de la dix-septième journée de la saison 2016-2017 de Pro D2 contre l'USA Perpignan, à la suite de la blessure d'Antoine Renaud, où il est titularisé au poste d'arrière et inscrit quinze points au pied (cinq pénalités)[6],[3]. Cette saison-là, il dispute six autres rencontres dont cinq en tant que titulaire et il inscrit trois autres points[7].
La saison suivante, il inscrit son premier essai en Pro D2 face au FC Grenoble , contribuant à la victoire 30 à 14 de son équipe à domicile[8]. En fin de saison, il est titularisé à un nouveau poste, en tant que deuxième centre, face au Biarritz olympique où il inscrit onze des seize points de son équipe mais ils s'inclinent lourdement 38 à 16 à Aguilera[9]. Lors de cette deuxième saison, il gagne en temps de jeu, principalement lors des absences de son coéquipier à l'arrière Jack McPhee[10], avec treize rencontres disputées dont neuf en tant que titulaire et inscrit dix-neuf points[7].
Lors de la saison 2018-2019, il découvre un nouveau poste en tant qu'ailier car il est toujours barré par la concurrence de Jack McPhee à l'arrière ainsi qu'à la suite de nombreuses blessures sur les ailes du club cantalou[10]. Toutefois, ce replacement s'avère être bénéfique pour Salles, il gagne en temps de jeu, réalise de bonnes performances et s'impose comme un titulaire de l'effectif aurillacois[10],[7]. Pendant cette saison, il dispute vingt-six rencontres dont vingt-et-une en tant que titulaire, inscrivant cinq essais et quarante-cinq points au total[7].
En 2019-2020, il est régulièrement titulaire sur l'aile droite du Stade aurillacois et il endosse souvent la responsabilité de buteur, de ce fait il inscrit 157 points en dix-neuf rencontres dont quinze comme titulaire[7]. Néanmoins, la saison est suspendue en mars à cause de la pandémie de Covid-19 puis elle est finalement annulée quelques mois plus tard[11],[12].
Durant la saison suivante, il retrouve son poste d'arrière et découvre même le poste de demi d'ouverture lors d'une rencontre à l'extérieur face à l'US Montauban où Aurillac s'impose 20 à 11[13]. En novembre, il réussit huit de ses neuf tentatives de but, inscrivant vingt-deux des 32 points de son équipe, lors d'une victoire 32 à 11 face au Stade montois[14]. Lors de l'avant-dernière journée du championnat, il inscrit la pénalité de la gagne à la 82e minute contre Colomiers Rugby, permettant à son équipe de s'imposer d'un point 17 à 16 à l'extérieur[15]. Au cours de la saison, il partage le rôle de buteur avec l'ouvreur Thomas Vincent[16], toutefois il inscrit plus de points que ce dernier avec 204 points en vingt-huit rencontres disputées dont vingt-et-une en tant que titulaire[7]. C'est sa dernière saison disputée avec son club formateur, il rejoint le RC Toulon à partir de la saison suivante pour une durée de deux ans[17], il retrouve son ancien coéquipier, entraîneur et ami à Aurillac, Maxime Petitjean, qui fait partie du staff toulonnais[15].
Découverte du Top 14 à Toulon (2021-2023)
En , il dispute son premier match officiel avec le RC Toulon à l'occasion de la troisième journée du Top 14 où il est placé au poste de deuxième centre face au Stade français Paris[18], il inscrit notamment son premier essai avec sa nouvelle équipe et contribue à la victoire 38 à 5 avec bonus offensif des siens[19]. Il dispute deux autres rencontres et réalise des prestations convaincantes[5]. Néanmoins, il se blesse peu de temps après et peine à convaincre sur le terrain tout au long de la saison, ne disputant que onze rencontres toutes compétitions confondues[7], des rumeurs de départ dès sa première saison dans le Var sont alors évoquées[20]. Finalement, il reste à Toulon pour honorer sa deuxième année de contrat[21].
La saison suivante se passe mieux pour Salles, il enchaîne les quatre premières journées de Top 14 sur le banc des remplaçants mais par la suite[4], il devient petit à petit l'un des premiers choix au poste d'arrière après les performances moyennes d'Aymeric Luc[22],[23]. Toutefois, il va tout de même quitter le club toulonnais à la fin de son contrat en juin[24]. En , il signe un pré-contrat avec le club de Provence Rugby, évoluant en Pro D2, à partir de la saison 2023-2024 pour une durée de trois ans[24]. Plus tard dans la saison, bien qu'il ne dispute pas la finale de Challenge Cup que son club remporte, par conséquent il n'est alors pas champion, son coéquipier Dan Biggar lui offre sa médaille de vainqueur pour le récompenser de sa bonne saison[25].
Retour en Pro D2, à Aix (2023-)
En , il dispute sa première rencontre sous son nouveau maillot de Provence Rugby lors de la première journée de Pro D2 face à l'US Dax, où il est titularisé au poste d'arrière et prend une part prépondérante dans la victoire 44 à 16 de son équipe à l'extérieur en inscrivant vingt-quatre points, décomposé d'un essai, cinq transformations et de trois pénalités[26],[27]. La journée suivante, il récidive en inscrivant de nouveau vingt-quatre points, tous au pied cette fois-ci, lors de la victoire 44 à 9 de son équipe à domicile contre le SU Agen[28]. Par la suite, il continue ses bonnes performances en tant que titulaire de son club au poste d'arrière mais il subit une rupture des ligaments croisés mi-octobre contre l'AS Béziers, l'éloignant alors des terrains pour le reste de la saison[29].