Un narrateur raconte l’histoire de Harold et de ses deux amis Porcupine et Moose. Sans nouvelles de leur créateur (le « vieil homme »), ils partent à sa recherche dans le monde réel. Sur Terre, Harold et Moose font la connaissance de Terry et de son fils Mel, qui leur offrent l’hospitalité. Porcupine arrive bien après ses acolytes. Harold embellit la façade de la maison de leur hôte grâce à son crayon magique. Cherchant le vieil homme, ils débutent leur périple à la bibliothèque, où ils rencontrent Gary. Harold dessine un avion afin d’envoyer un message à son père dans le ciel. Gary comprend qu’il est le héros d’un livre pour enfants. Terry reçoit de très nombreux appels d’hommes âgés, mais en vain. Tandis que Terry récupère son fils à l’école, Harold et Moose la remplacent dans le magasin où elle travaille mais créent un véritable désordre. Cette dernière perd son emploi. Moose et Harold, arrêtés par la police, parviennent à s’échapper de leur cellule et se rendent chez Crockett Johnson, leur père. Ils apprennent que ce dernier est décédé. Gary vole le crayon et l’avale, développant ainsi d’incroyables pouvoirs. S’ensuit un affrontement avec Harold. Porcupine retrouve ses amis. Alors que Gary plonge la ville dans le chaos, Terry utilise le sifflet pour invoquer Carl, l’ami imaginaire de Mel. Harold récupère son crayon et envoie Gary dans un monde parallèle. Les trois personnages se rendent dans la maison de l’auteur puis rentrent chez eux.