1 Compétitions officielles nationales et internationales senior, incluant le parcours amateur et en équipe réserve. 2 Matchs officiels. Dernière mise à jour :
Formé au Barnsley FC, John Stones dispute son premier match en équipe première le face à Reading (défaite 0-4). Il prend part à deux matchs durant sa première saison au niveau professionnel.
Le , il signe un contrat de cinq ans et demi en faveur d'Everton. Il fait ses débuts avec les Toffees le lors d'un match de Coupe de la Ligue anglaise face à Stevenage. Le suivant, il prend part à son premier match de Premier League face à Chelsea (victoire 1-0).
Le , Stones inscrit son premier but avec Everton lors de la victoire des siens sur Manchester United (3-0) en Premier League.
Manchester City FC
Le , il signe un contrat de six saisons avec Manchester City. Il devient alors le défenseur le plus cher de l'histoire avec un transfert estimé à 55,6 millions d'euros[1]. Le , il inscrit son premier but avec le club de Manchester lors d'un match de Coupe d'Angleterre face à West Ham (0-5).
Reconvertie en milieu de terrain par Pep Guardiola, il fera partie des 11 titulaires permettant à Manchester City de gagner sa première Ligue des champions de son histoire le 10 juin 2023.
Le , John Stones honore sa première sélection avec l'Angleterre lors du match amical face au Pérou (3-0 pour les Anglais). Il entre en jeu à un quart d'heure de la fin du temps réglementaire en remplaçant son coéquipier en club Leighton Baines[3].
Le , il est sélectionné en équipe d'Angleterre par Roy Hodgson pour disputer l'Euro 2016[4]. Il ne participe à aucun match de la compétition et l'Angleterre est éliminée dès les huitièmes de finale par l'Islande (1-2)[5].
John Stones fait partie des vingt-trois joueurs sélectionnés en équipe d'Angleterre pour disputer la Coupe du monde 2018[6].
Le , Stones inscrit ses deux premiers buts en sélection face au Panama (6-1)[7]. Éliminés face à la Croatie en demi-finale (2-1 après prolongation), les Three Lions s'inclinent également lors du match pour la troisième place contre la Belgique (2-0).
Deux ans plus tard, il est de nouveau convoqué pour participer à l'Euro 2020.