Le joueur commence le jeu en contrôlant Roxas, un garçon de 15 ans qui vit dans une ville appelée Twilight Town. Il est en vacances d'été avec ses trois meilleurs amis, Hayner, Pence et Olette. Au fil des semaines, des choses étranges commencent à se produire. Un homme nommé Axel, membre de l'Organisation XIII qui était dans la Chaîne des souvenirs, se présente et est surpris et contrarié que Roxas ne se souvienne pas de lui. Ils se battent et Roxas découvre qu'il peut utiliser un Keyblade. Roxas rencontre également Naminé et un homme nommé DiZ qui était du côté de Riku dans la Chaîne des souvenirs. Naminé dit à Roxas qu'elle a changé ses souvenirs pour qu'il puisse redevenir "entier". Axel dit à Roxas qu'ils étaient amis et qu'il doit soit ramener Roxas à l'Organisation, soit le détruire. Ils se battent, et Axel disparaît. Roxas retrouve alors Sora, et disparaît lui-même.
Après la disparition de Roxas, Sora se réveille et devient le nouveau personnage du joueur. Donald et Goofy se réveillent également, et tous les trois continuent leur mission pour retrouver Riku. En le cherchant, ils rencontrent le reste des membres de l'Organisation XIII et apprennent qu'ils sont des êtres appelés Nobodies. Lorsqu'un Sans Coeur vole le coeur de quelqu'un, cette personne devient aussi un Sans Coeur, mais si son coeur est fort, son corps devient un Personne. Les Personne n'ont pas d'émotions, mais veulent avoir à nouveau un cœur. Xemnas, le chef de l'Organisation XIII, essaie d'invoquer les Coeurs du Royaume, qui, selon lui, permettront aux Personne de récupérer leurs coeurs. Pour invoquer les Kingdom Hearts, les Sans-Cœur doivent être tués avec une Keyblade, qui libérera les cœurs qu'ils détiennent et leur permettra de revenir aux Kingdom Hearts. C'est la raison pour laquelle l'Organisation a voulu que Sora les rejoigne.
Il est révélé par la suite que Roxas est le Nobody de Sora, et qu'il était membre de l'Organisation XIII. Roxas a été créé lorsque Sora a brièvement perdu son cœur dans Kingdom Hearts. Naminé se révèle ensuite être le Nobody de Kairi, qui a été créé lorsque Kairi a perdu son cœur au début de Kingdom Hearts. Xemnas est le Nobody d'un homme appelé Xehanort, qui n'existe plus. Ansem, l'ennemi principal du premier jeu, était le Sans Coeur de Xehanort.
Vers la fin du jeu, Sora, Kairi et Riku se réunissent et détruisent Xemnas. Tous les membres de l'Organisation XIII étant détruits et les mondes apparemment sûrs, Sora, Riku et Kairi rentrent chez eux dans les îles de la Destinée.