1 Compétitions officielles nationales et internationales senior, incluant le parcours amateur et en équipe réserve. 2 Matchs officiels. Dernière mise à jour :
De Ketelaere a fait ses débuts en Jupiler Pro League le . Lors d'un match à domicile contre le KV Ostende, il remplace Hans Vanaken après 76 minutes de jeu. Le Club de Bruges remporte le match 2-0. Quatre jours plus tard, il est titularisé pour la première fois en Ligue des champions au détriment de Mats Rits par Philippe Clement contre Galatasaray.
Le Club de Bruges ayant passé l'hiver européen grâce à sa troisième place qualificative pour les barrages de Ligue Europa joue contre Manchester United. Au match aller, il est entré alors que le score était 1-1, au match retour (5-0), le Club de Bruges était mené 3-0 lorsque De Ketelaere est entré en jeu. Il livre néanmoins une excellente performance contre le club anglais en étant le plus menaçant sur le terrain.
À partir des mois de janvier et février 2020, De Ketelaere a été de plus en plus employé en tant qu'attaquant. Il a été définitivement titularisé après quelques grosses performances pour la suite de la saison du Club de Bruges. Le 19 janvier 2020, De Ketelaere, qui a remplacé Siebe Schrijvers après 74 minutes de jeu, fait une passe décisive à Hans Vanaken contre le Sporting d'Anderlecht (1–2). Le , De Ketelaere marque son premier but en tant que footballeur professionnel et qualifie son club pour sa première finale de coupe depuis 2016. Le 1er mars 2020, De Ketelaere marque son premier but en Jupiler Pro League, après trois minutes dans la Cegeka Arena contre le champion en titre du KRC Genk. Le Club de Bruges a remporté le match 1-2.
À la suite de la pandémie de Covid-19, le Championnat de Belgique de football 2019-2020 est arrêté mais le Club Bruges KV sera sacré champion de Belgique après seulement 29 journées de championnat. Il s'agit du premier titre collectif de De Ketelaere en tant que joueur professionnel.
Le , il marque son premier but en Ligue des champions contre le Zénith Saint-Pétersbourg. Il a marqué dans les derniers instants de la rencontre ce qui a permis au Club de remporter le match.
Il récidive contre ce même club russe le 2 décembre, cette victoire permet au Club Bruges KV d'accéder aux barrages de Ligue Europa.
Etant sur le départ, il ne joue pas lors de la Supercoupe de Belgique contre La Gantoise malgré les cris du publique qui voulait le voir jouer une dernière fois avec les couleurs Blauw en Zwart. Le Club remporte la coupe et De Ketelaere sera ovationné grandement par les supporters du Club Bruges KV.
Le , il quitte le Club Bruges afin de rejoindre l'AC Milan pour un montant de 32 millions d'euros[5], il arrive à Milan comme une véritable star, d'énormes attentes sont placées en lui. Il doit être la nouvelle pièce maîtresse de l'attaque de l'AC Milan aux côtés de Rafael Leão. Il est notamment comparé à Kaká et à Kevin De Bruyne. Lors de son premier match amical, il marque un triplé en moins de 30 minutes contre Pergolettese.
Après de premières apparitions convaincantes en Serie A, il ne répond finalement pas aux grandes attentes des supporters en terminant la saison avec seulement une petite passe décisive (pour Rafael Leão) en quarante rencontres disputées. Après le départ de Paolo Maldini, qui était le principal défenseur de De Ketelaere dans la direction de l'AC Milan, la direction américaine cherchant à lui trouver une porte de sortie pour récupérer une partie de l'indemnité transfert décida de le mettre sur la liste des transferts[6]. Les médias évoquent plusieurs clubs comme possible destination, à l'image du RC Lens, l'Olympique de Marseille[7] ou la Real Sociedad[8].
Atalanta Bergame (depuis 2023)
Après seulement une saison, il quitte finalement l'AC Milan pour l'Atalanta, sous la forme d'un prêt de 3 millions d'euros, avec une option d'achat de 22 millions d'euros hors bonus[9],[10] et l'objectif de s'y relancer après un passage mitigé du côté du chef-lieu lombard[11]. À Bergame, il récupère le numéro 17 imitant l'un de ses modèles Kevin De Bruyne[1],[12], alors qu'il est annoncé comme le joueur le mieux payé de l'effectif bergamasque[13]. Dès son premier entrainement il fait forte impression à son coach Gian Piero Gasperini.
Le , il joue son premier match avec l'Atalanta contre Sassuolo et il y inscrit son premier but en Serie A. Son équipe remporte la rencontre 2 à 0. Il inscrit son deuxième but avec Bergame d'une tête le 21 septembre lors d'une rencontre de Ligue Europa contre Raków son premier dans cette compétition. Le 9 décembre, il retrouve l'équipe à laquelle il appartient, l'AC Milan, après avoir manquer une occasion de but après 8 minutes de jeu il est passeur décisif pour Ademola Lookman à la 55e minute de jeu. L'Atalanta remportera ce match 3-2 grâce à un but décisif de Luis Muriel en fin de rencontre.[réf. nécessaire]
Le , il remporte l'Europa League par 3-0 contre le Bayer Leverkusen, appelé les invincibles. Ils n'avaient plus perdus de matchs depuis 51 confrontations. Ce soir là, Charles De Ketelaere est sorti à la 55ème d'un match très tactique. Il remporte son premier sacre européen à l'âge de 23 ans.
L'Atalanta lève l'option d'achat et officialise son transfert définitif le [14].
En sélections nationales
En catégories jeunes
Avec les moins de 16 ans, il inscrit, en avril 2017, un but lors d'un match amical contre la Suède (victoire 1-6).
Avec les moins de 19 ans, il marque un but le 10 septembre 2019 lors d'un match amical face à la Tchéquie (2-2), un but le 13 novembre 2019 lors d'une victoire 0-3 face à l'Islande et un but le 16 novembre 2019 lors d'une rencontre gagnée 2-1 face à l'Albanie.
Avec les espoirs, il inscrit le 8 septembre 2020 un but lors d'une rencontre de qualifications pour l'Euro espoirs contre l'Allemagne (victoire 4-1).
Il participe à Euro espoirs 2023 dans l'objectif de se relancer après une saison compliquée à Milan. Après un premier match de haut niveau il sera de moins en moins visible lors des 2 autres rencontres de la phase de poules. La Belgique, manquant grandement de réalisme, terminera dernière du groupe A.
En équipe première
Le , lors d'un match amical entre la Belgique et la Suisse à Louvain, il entre en jeu à la 91e minute à la place de Thorgan Hazard (victoire 2-1).
Le 10 octobre 2021, pendant le match pour la 3ème place de la Ligue des Nations face à l’Italie à Turin, il marque à la 86e minute de jeu d’un ballon entre les jambes de Gianluigi Donnarumma (défaite 1-2). Il s’agit de son premier but en sélection avec les Diables Rouges.
Coupe du monde 2022
Le , il est sélectionné par Roberto Martínez pour participer à la Coupe du monde 2022[15]. Il entre à un quart d'heure de la fin lors du match contre le Maroc étant trop peu trouvé, il ne peut empêcher la débâcle des diables rouges qui perdent 2-0. La Belgique sera éliminée après un score vierge contre la Croatie.
Éliminatoires Euro 2024
Il est sélectionné par Domenico Tedesco pour disputer les rencontres qualificatives à l'Euro 2024 de septembre. Il jouera une vingtaine de minutes contre l'Estonie et marquera son deuxième but avec les diables rouges sur une passe décisive de Jérémy Doku portant le score à 5 buts à 0.
Le 16 août 2023, il est titulaire lors du match contre la Suède, il réalise une bonne prestation malgré de nombreux contacts rugueux subis. Le match est finalement interrompu à la mi-temps lorsque le score est de 1-1 à la suite de la fusillade du 16 octobre 2023 à Bruxelles.
Euro 2024
Le 28 mai 2024, il est retenu parmi les 25 joueurs belges convoqués par Domenico Tedesco pour participer à l'Euro 2024[16].
↑La rencontre est suspendue à la mi-temps pour des raisons de sécurité à la suite de l'attentat perpétré ce soir-là dans le centre de Bruxelles lorsqu’un individu isolé à ouvert le feu, tuant deux supporters suédois venus assister au match et blessant gravement un troisième[19]. L'UEFA entérine le résultat le [20].