In 1842, 13-year-old Maria Merryweather travels by carriage to England's West Country with her governess Miss Heliotrope and her spaniel Wiggins. Maria's father, a soldier, has recently died, leaving debts so great that their London house and possessions had to be sold. The three are being conveyed to Moonacre Manor to live with Maria's second cousin, Sir Benjamin Merryweather, whom they have never met.
Their carriage passes through a stone tunnel and enters a moonlit park. Maria glimpses a little white horse at the end of a glade, halted as though glad to see her, but Miss Heliotrope cannot see it. At the manor-house, Sir Benjamin, a large, ruddy man, welcomes them and declares Maria "a true Merryweather." He introduces Wrolf, a huge shaggy animal with yellow eyes that he calls a dog. Maria's tower room is circular, its ceiling carved with a moon and stars. Sir Benjamin reveals that no woman has set foot in the house for 20 years and is visibly startled when Maria mentions the white horse. That night she dreams of Robin, a sturdy boy who used to appear as her playmate in the London garden.
The next morning, Maria finds a riding habit bearing the monogram L.M. laid out by an unknown hand. Sir Benjamin gives her a riding lesson on a pony named Periwinkle and tells her she may explore anywhere except Merryweather Bay, where the fishermen are hostile. He shares the family motto: "The brave soul and the pure spirit shall with a merry and a loving heart inherit the kingdom together." On Sunday, Maria attends church in Silverydew, where villagers whisper she may be "the one." The Old Parson, an extraordinary man with a slight foreign accent, scolds Sir Benjamin for allowing cruel traps on his land. Maria resolves to discover what is wrong in the valley and put it right.
Riding eastward, Maria hears a hare screaming in a trap and races to free it. Robin appears, knocks down a threatening man in black, and helps her rescue the hare. They flee while Wrolf holds off the Men from the Dark Woods, outlaws who live in the pine-wood and terrorize the valley. Robin tells Maria they have a dangerous task ahead. Maria names the hare Serena. She soon meets Marmaduke Scarlet, the manor's hunchbacked dwarf cook, and Zachariah, an enormous black cat. Marmaduke denies laying out Maria's clothes, and she concludes an unknown woman must be helping them.
At the church, Old Parson tells the Merryweather history. Centuries ago, Sir Wrolf Merryweather, the family's founder, stole Paradise Hill from monks who kept a monastery there. He married the Moon Princess, the silvery-haired daughter of his rival Black William Cocq de Noir, to gain Black William's pine-woods and fishing bay. Though Sir Wrolf came to love her, his rage revealed his deception. Black William disappeared, his infant son was reported dead, and the Moon Princess, believing Sir Wrolf responsible, rode away on her little white horse with only her string of pearls. Old Parson adds that the Moon Princess returns each generation but always quarrels and leaves. Prophecy holds that a Moon Princess will one day deliver the valley from the Men from the Dark Woods, descendants of Black William's son, who did not die but was spirited to safety. She must humble her pride and love a poor man.
Maria meets Loveday Minette, Old Parson's housekeeper, whom she instinctively feels is the mother she never had. She also discovers that Old Parson is Louis de Fontenelle, a French refugee who once gave Miss Heliotrope a poetry book. Loveday lives secretly inside a hill, serving as the Porteress of the Moonacre gate. On Paradise Hill, Maria finds the ruined monastery and makes three wishes: to rid the valley of wickedness, to love the shepherd boy, and to stay at Moonacre forever. When the men appear stealing lambs, Maria charges after them. Robin comes to her aid, and the sound of unseen galloping hoofs frightens the men away. Robin reveals he is Sir Benjamin's shepherd boy and Loveday's son. He declares Maria is going to marry him; she accepts, and Loveday warns them never to quarrel.
Maria pieces together Loveday's history through a half-finished embroidered waistcoat found in a cedarwood workbox: Loveday, an orphaned cousin raised at the manor, loved Sir Benjamin, but on the eve of their wedding he threw her beloved pink geraniums out the window, seeing them as an insult to his dead mother. Loveday fled, married a kind lawyer, and refused reconciliation because Sir Benjamin never apologized. Maria resolves that Paradise Hill must be restored to God and wrings Sir Benjamin's agreement to give the hill's wool profits to the poor. Old Parson leads a procession up Paradise Hill with Sir Wrolf's ancient sword, a wooden statue of a Lady and Child, and a monastery Bell. He arranges them at a stone altar and leads prayers restoring the hill to God. The Bell rings out and the villagers pour into the street in joy.
Robin tells Maria the time has come to confront the Men from the Dark Woods in their castle. They enter through the pine-trees and descend to a gallery above the great hall. Maria addresses the leader as Monsieur Cocq de Noir, acknowledges Sir Wrolf's wickedness, and calls the men equally guilty. Robin suggests trading fish, but Monsieur Cocq de Noir demands the Moon Princess's pearls and proof that Black William was not murdered. Maria loses her temper, and the men try to seize them. They flee, with Zachariah covering their retreat by spitting fire from his eyes. Escaping through a hollow beneath a pine-tree, they discover Black William's hermitage, where a knife and mug engraved with a cock prove he withdrew voluntarily. A passage leads to a sea cave. They emerge onto Merryweather Bay and scramble up a cliff, where Wrolf and Periwinkle wait, having left deliberately so the men would follow and see the proof. Back at the manor, Maria discovers the Moon Princess's lost pearls hidden in the stable-yard well.
That night, Maria rides Wrolf into the pine-woods to give the pearls to Monsieur Cocq de Noir. A little white horse lights their way, and Maria sees a silver horn on its forehead: It is a unicorn. At the castle, Monsieur Cocq de Noir demands to see the white horse. At the darkest moment before dawn, hundreds of galloping white horses made of light sweep through the forest from the sea. When the brilliance passes, one white horse remains beneath the pine-tree, neck arched, before vanishing. Monsieur Cocq de Noir concedes. Maria gives him the pearls, and he promises to mend his ways.
Maria arranges a tea-party to reunite everyone she loves. She fills the house with pink geraniums Marmaduke has kept hidden for 20 years. She sends Old Parson and Miss Heliotrope to a garden bench with two poetry books that reveal their shared past as Jane Heliotrope and Louis de Fontenelle. She leads Loveday to the parlour window, now blazing with geraniums, where Sir Benjamin stands wearing the waistcoat Loveday embroidered for him. He cries out for forgiveness and lifts her into his arms. Monsieur Cocq de Noir arrives with all his men, and everyone sits down for a feast that leaves not a crumb of bitterness behind.
Sir Benjamin and Loveday marry, as do Old Parson and Miss Heliotrope. The following spring, Robin and Maria wed in Silverydew Church. Monsieur Cocq de Noir and his men keep their promise, trading fish for valley goods. Maria and Robin inherit Moonacre Manor, never quarrel, and raise 10 children. In old age, Maria dreams of standing in a mysterious wood, straining after something she cannot see. She knows that one day the little white horse will come toward her rather than away and carry her to the good place where she wants to be.