Il joue en district, puis intègre le Centre de formation de football de Paris (CFFP) en U15 DH.
En U17 Nationaux, il joue à l’AS montferrandaise et fréquente le centre de formation de Clermont-Ferrand.
En juin 2010, il signe un contrat de stagiaire amateur au Racing Club de Strasbourg, continue sa formation et joue en équipe U19 Nationaux.
En janvier 2011, il intègre le groupe CFA 2. Il fait trois apparitions dans l'équipe réserve RC Strasbourg II qui dispute le CFA 2 (C). Le 9 janvier 2011, Il foule la pelouse pendant les 13 dernières minutes d'un match remporté 4 à 2 sur le terrain de la réserve de l'ESTAC Troyes.
Les 7 et 14 mai 2011, il est titulaire et va au terme des matchs respectivement perdu contre l'AS Illzach Modenheim et victorieux contre Jarville. L'équipe termine la saison première de son groupe.
En juillet 2011, le Racing Club de Strasbourg, dont l'équipe première a fini quatrième de National, se voit rétrograder administrativement pour raisons budgétaires et perd son statut professionnel. Le club jouera en CFA 2 en 2011-2012.
En raison de la mise en liquidation judiciaire, nombreux joueurs et espoirs du centre de formation sont libérés de leurs contrats. En fin de contrat aspirant, Jordan Lefort qui aurait dû s'engager avec le Racing Club de Strasbourg en tant que stagiaire professionnel doit quitter le club. Il rejoint ainsi, à 18 ans, l'Amiens SC dont l'équipe fanion vient de monter en Ligue 2, pour intégrer son centre de formation et léquipe de CFA 2.
Au cours de la saison 2011–12, il dispute avec la réserve de l'Amiens SC, les 90 minutes de la réception de l'AS Beauvais rés. pour l'ouverture du championnat de CFA 2 (Gr. A), le samedi 20 août 2011[1].
Il s'intégrera petit à petit dans l'équipe réserve, tandis que l'équipe fanion est reléguée en National à l'issue de la saison 2011-2012
Par la suite, il aura du mal à s'imposer dans l'effectif de National de l'Amiens SC, jouant principalement au poste de latéral.
Il fait sa première apparition au sein de l'équipe première d'Amiens le 6 août 2013, lors d'une victoire 1-0 contre Châteauroux au premier tour de la Coupe de la Ligue[3].
Le 12 octobre 2013, il joue les 90 minutes du match de cinquième tour de Coupe de France qui voit Amiens dominer 6 buts à 0 le Mers Athletic Club, pensionnaire de la division d'Excellence du District de la Somme (équivalent de la 9e division)[4],[5].
Le 26 octobre 2013, lors du sixième tour de Coupe de France, l'Amiens SC se déplace à l'US Chantilly(6). Jordan Lefort joue l'intégralité de la rencontre dont l'issue est déterminée par une séance de tirs au but perdue par les Amiénois[6].
Il joue son premier match en championnat de National le 20 décembre 2013 contre le Gazélec d'Ajaccio. Le changement ayant eu lieu en début de rencontre a été oublié sur le résumé LFP du match[7].
Après deux ans passés en National, l'équipe perd son statut professionnel en juin 2014[8]. Sous contrat fédéral, Lefort entre dans l'effectif de l'équipe première, en National.
Lors de l'édition 2014-2015 de la Coupe de France, l'Amiens SC remporte ses quatre premiers affrontements face à Montdidier AC (8), à l'AFC Compiègne (6), au Stade béthunois (6) et au CS Meaux Academy (7).
Le 7 décembre 2014, Lefort est titulaire pour le match de huitième tour de Coupe de France face au CS Meaux Academy au cours duquel Amiens SC est mené au score pendant 85 minutes avant d'égaliser par Nsamé à la 90e et de s'imposer dans les prolongations sur le score de 1-3. Il sera remplacé à la 56e minute[9].
Jordan Lefort reste sur le banc lors de la défaite 2-1 en 32e de finale de l'Amiens SC face au FC Bressuire, club de CFA 2[10].
Il joue dans l'équipe première en National et dans l'équipe réserve en CFA 2. L'équipe fanion monte en Ligue 2 à l'issue de la saison 2015–16.
Entre juin 2013 et juin 2016, il aura joué une vingtaine de matchs avec l'équipe première de National, sans rentrer vraiment dans l'équipe-type[11].
A l'été 2016, l'Amiens SC envisage de le prêter la saison suivante mais, en raison de négociations inabouties et des besoins de l'effectif (suspensions, blessures), il est conservé. Au cours du dernier match amical de pré-saison, l'entraineur le fait jouer en défense centrale. Il montre des qualités à ce poste et convainc. Titularisé avec l'effectif pro pour le premier match de 2016-2017 face à Reims, il donne satisfaction et s'impose dans l'équipe première[12],[13]. Il signe son premier "contrat professionnel" à l'age de 23 ans, en octobre 2016[14]. Sur les 28 premières journées, il est titularisé à 26 reprises et jouera 25 matchs dans leur intégralité, écopant d'un carton rouge lors de la septième journée[15].
Il marque son premier but chez les pros au cours de la 11e journée de Ligue 2, le 14 octobre 2016, à Bourg-en-Bresse, victoire 4-2 devant Bourg-en-Bresse Péronnas[16]. Blessé, il est indisponible pour les huit dernières journées mais aura grandement participé à la montée de l'équipe d'Amiens en Ligue 1 à l'issue de la saison 2016-2017. Il fait partie des espoirs révéles cette saison[17].
Prêté pour une saison à l'US Quevilly-Rouen, Jordan Lefort gagne du temps de jeu et de l'expérience. Sur les 38 matchs de championnat de Ligue 2 2017-2018, il est titulaire à 36 reprises, jouant l'intégralité de ces rencontres, ne joue pas la 30e journée, pour cause de suspension, et rentre à la 56e minute lors de la 35e journée[18],[19]. L'équipe qui jouait sa première saison en Ligue 2 termine 19e et est reléguée en National.
De retour de prêt, Lefort joue, avec l'Amiens SC son premier match en Ligue 1, titularisé le 12 août 2018 face à l'Olympique lyonnais.
Son contrat avec l'Amiens SC court jusqu'en 2021[20].
Le 3 février 2020, le club picard annonce son prêt pour six mois avec une option d'achat estimée à 1 M€ aux Young Boys Berne[21]. Il inscrit son premier but pour le club helvétique le 29 novembre 2020 lors de l’inauguration du nouveau stade du FC Lausanne-Sport. Par la même occasion, il devient le premier buteur en match officiel du Stade de la Tuilière.
En août 2022, il quitte Young Boys Berne et donc la Suisse pour retourner en France au Paris FC où son arrivée est officialisée le 30 août[22],[23].