Eight-year-old Princess Irene lives a lonely life in a castle in a wild, desolate, mountainous kingdom, with only her nursemaid, Lootie, for company. Her father, the king, is normally absent, and her mother is dead. Unknown to her, the nearby mines are inhabited by a race of goblins, long banished from the kingdom and now anxious to take revenge on their human neighbors. One rainy day, the princess explores the castle and discovers a beautiful, mysterious lady, who identifies herself as Irene's namesake and great-great-grandmother.
The next day, Princess Irene persuades her nursemaid to take her outside. After dark they are chased by goblins and rescued by the young miner, Curdie, whom Irene befriends. At work with the rest of the miners, Curdie overhears the goblins talking, and their conversation reveals to Curdie the secret weakness of goblin anatomy: they have very soft, vulnerable feet. Curdie sneaks into the Great Hall of the goblin palace to eavesdrop on their general meeting, and hears that the goblins intend to flood the mine if a certain other part of their plan should fail. He later conveys this news to his father.
In the palace, Princess Irene injures her hand, which her great-great-grandmother heals. A week later Irene is about to see her great-great-grandmother again, but is frightened by a long-legged cat and escapes up the mountain; whereupon the light from her great-great-grandmother's tower leads her home, where her great-great-grandmother gives Irene a ring attached to a thread invisible except to herself, which thereafter connects her constantly to home.
When Curdie explores the goblins' domain, he is discovered by the goblins and stamps on their feet with great success; but when he tries to stamp on the Queen's feet she is uninjured due to her stone shoes. The goblins imprison Curdie, thinking he will die of starvation; but Irene's magic thread leads her to his rescue, and Curdie steals one of the goblin queen's stone shoes. Irene takes Curdie to see her great-great-grandmother and be introduced; but she is only visible to Irene. Curdie later learns that the goblins are digging a tunnel in the mines towards the king's palace, where they plan to abduct the Princess and marry her to goblin prince Harelip. Curdie warns the palace guards about this, but is imprisoned instead and contracts a fever through a wound in his leg, until Irene's great-great-grandmother heals the wound.
Meanwhile, the goblins break through the palace floor and come to abduct the princess; but Curdie escapes from his prison room and stamps on the goblins' feet. Upon the goblins' retreat, Irene is believed a captive; but Curdie follows the magic thread to her refuge at his own house, and restores her to the king. When the goblins flood the mines, the water enters the palace, and Curdie warns the others; but the goblins are drowned. The king asks him to serve as a bodyguard; but Curdie refuses, saying he cannot leave his mother and father, and instead accepts a new red petticoat for his mother, as a reward.