Stardust is the story of a boy, Tristran, who stumbles into the land of Faerie and meets a star fallen from the heavens. The star, Yvaine, falls in love with him over the course of their adventures together as they are pursued by a cold-hearted prince and a witch eager to eat the star and claim her youth and power for herself. Tristran and Yvaine marry and Tristran is revealed as the rightful ruler of the realm, but he passes away of old age while Yvaine lingers forever.
On the outskirts of Wall, a small town in rural England, the Faerie Market is held every nine years on the other side of the wall dividing Faerie - a mystical realm of magic - from our world and for which the town of Wall is named. As the book begins, the market has just begun and the town is filled with visitors and vendors. A young man named Dunstan Thorn rents out his cottage to a stranger in exchange for his "Heart's Desire", in addition to a monetary payment. The next day in the market, he meets Una, a beautiful woman imprisoned by the witch called Semele. He purchases a glass snowdrop from Una with a kiss, and gives the flower to his fiancée Daisy. Enthralled by her beauty during the encounter, Dunstan later meets Una in the woods that night and makes love to her. A month later, Dunstan marries Daisy as planned. In February (a little over nine months later), he receives a baby in a basket — his and Una's son, Tristran.
Eighteen years after these events, Tristran - now a young man - seeks the love of Victoria Forester, the town beauty. One night, while Tristran is walking her home from the shop where he works, he sees a shooting star land in Faerie, and he vows to bring it to her in exchange for a kiss, and perhaps her hand in marriage. Thinking that he will never actually do it, Victoria promises to do whatever he asks if he brings her the star. Tristran tells his father of the bargain, and Dunstan gives Tristran the snowdrop, as well as helping him pass the guards at the wall by alluding to his faerie heritage. Tristran enters Faerie and begins his search for the star.
At Stormhold, in Faerie, the King of Stormhold gathers his sons to determine who will be his heir; he hurls the Power of Stormhold, a topaz that marks its bearer as the ruler of the land, into the sky, knocking that selfsame star from the sky. He then dies, and his sons leave together. Septimus departs on his own after poisoning Tertius at a nearby inn.
In a small, grey house in the woods, three ancient and mighty witches known as the Lillim learn of the fallen star by reading the entrails of a dead goat, and the eldest of the Lilim consumes their last reserves of "years", later revealed to be the heart of another fallen star, to become young again. She meets a farm boy, Brevis, at a crossroads, takes his goat, and transforms him into a second goat, using the two animals to pull her small chariot.
Tristran meets a small hairy man who helps him through the woods. After Tristran helps them escape deadly trees called serewood, he learns he has the ability to find any location in Faerie. Tristran is taunted by tiny faeries, who say that he is "soon to face his true love's scorn". The hairy man gives Tristran a new outfit, a silver chain like the one used to imprison Una, and a candle-stub which allows one to travel great distances quickly while it burns, which he explains by referencing the nursery rhyme "How Many Miles to Babylon?".
Tristran uses the candle to quickly reach the fallen star, but is surprised to find that the star is actually a young woman named Yvaine, whose leg was broken in the fall. Yvaine hurls mud at him and continuously insults him. He resolves to bring her to Victoria anyway, tying her to him with the chain. However, the candle goes out before he can return, so the two sleep for the night.
The next morning, Tristran tells Yvaine about his promise to Victoria and his intention to bring Yvaine to her. Tristran makes Yvaine a simple crutch to help her walk as her broken leg hinders her movement. They arrive at a clearing where they witness a fight between a lion and a unicorn over a golden crown. Yvaine asks Tristran to help the Unicorn when the Lion was about to kill it. Tristran, remembering the old nursery rhyme, The Lion and the Unicorn, picks up the crown and gives it to the Lion. With the crown upon its head, the Lion slips away into the forest. Tristran and Yvaine spend the night at the clearing beside the wounded Unicorn. Yvaine escapes on the Unicorn when Tristran leaves in search of food.
The witch-queen, on her search for the Star, encounters Madam Semele. They share a meal and Madam Semele gives the witch-queen meat cooked with Limbus grass, which causes anyone who tastes it to speak nothing but the truth, forcing her to reveal the purpose of her journey. The enraged witch-queen puts a curse on her, which prevents her from seeing, touching or perceiving the star in any way and causing Semele to forget their meeting the moment the witch-queen leaves.
On discovering that Yvaine is gone, a despondent and regretful Tristran spends the night under a tree. Tristran talks to a tree who says that Pan, the spirit of the forest, told her to help him. The tree tells Tristran that there are people looking for Yvaine and that there is a path in the forest with a carriage coming down it that Tristran can't miss. Then it gives Tristran a leaf and says to listen to it when he needs help the most. Tristran runs to catch the carriage and nearly misses it but for a tree that has fallen in the carriage's path. Tristran meets Primus, the driver of the carriage, and persuades him to allow Tristran to ride in the carriage.
In the mountains the witch-queen transforms her chariot into an inn to catch Yvaine, who is coming her way. She turns the goat into a man, and the goat who used to be Brevis into a girl. Yvaine falls for the trap, and the witch-queen is preparing to carve out her heart when Tristran and Primus, who have also been attracted by the inn, arrive. The witch-queen decides to delay killing Yvaine until she has dealt with the two unwanted guests. She attempts to poison Tristran while he is tending to the horses, but the unicorn, which is also lodged in the stable, warns him just in time. He rushes back to the inn, but is too late to warn Primus. However he is able to rescue Yvaine by forming a makeshift candle from the remnants of the magical candle he had obtained earlier, burning his left hand in the process. Shortly afterwards, Septimus arrives and finds Primus' body. He sets off in search of the witch-queen, to fulfill an obligation to avenge his slain brother, and the topaz, to claim his birthright as the last surviving son of Stormhold.
Tristran and Yvaine escape the witch-queen, but find themselves in an almost equally perilous situation. They walk past many scenes in the light of the candle, but eventually end up stranded on a cloud, miles above Faerie. Fortunately, they are rescued by the crew of a passing airborne ship. The captain of the ship agrees to help them on their way back to Wall, hinting that he is part of a mysterious 'fellowship' that wants to help Tristran for some unspecified reason. Tristran expresses regret for chaining Yvaine up. The star reveals that while Tristran no longer intends to force her to accompany him to Wall, the custom of her people dictates that, because he has saved her life, she is nonetheless obliged to follow him.
Upon parting company with the ship and its crew, Tristran and Yvaine set off for Wall, and, after several adventures, encounter Madam Semele. Because of the witch-queen's curse, Madam Semele is unable to see Yvaine, but she agrees to transport Tristran the rest of the way to Wall, as she is on her way to the market herself. Tristran obtains a promise from Madam Semele that he will not be harmed, will receive board and lodging, and will arrive at Wall in the same manner and condition in which he departed. This promise, however, does not prevent her from transforming him into a dormouse for the duration of the journey. The star also rides on Madam Semele's wagon, unbeknownst to the old woman.
Septimus seeks revenge on the witch-queen for killing Primus, but is himself killed by his intended victim, without ever reclaiming the topaz. Tristran (now returned to his human form), Yvaine, Madam Semele and the witch-queen all arrive at the Wall market.
Tristran leaves Yvaine and crosses back into Wall, to tell Victoria that he has returned with the star. Meanwhile, Yvaine realises she has fallen in love with Tristran and, if he fulfills his promise to bring her to Victoria, she will not only lose him to another woman, but upon leaving Faerie, will be transformed into a piece of rock.
Upon meeting Tristran, a dismayed Victoria reveals she is already engaged to Monday, Tristran's old employer, and that she never believed that Tristran would fulfill his promise. She regretfully tells Tristran that she will keep her promise and marry him. Tristran, not wishing to force Victoria to marry him against her will, reminds her the promise wasn't to marry him, it was to give him anything he desired, and that he desires that she marry her own love, Monday.
Tristran returns to Yvaine at the fair. She is delighted to learn that Victoria is to be married to someone else, and Tristran reveals that he returns her love for him.
Una informs Madam Semele that she will soon be free, as her enslavement ends when the moon loses her child (Yvaine), if it happens in a week when two Mondays come together (the marriage of Victoria and Monday). The silver chain that binds Una finally fades away, and she demands payment for her services, which Madam Semele must give on pain of losing her powers.
Una seeks out Tristran and Yvaine and reveals her true identity as Lady Una, only daughter of the Eighty-First Lord of Stormhold, and Tristran's mother, and thus Tristran is rightfully the last male heir of Stormhold. She instructs Tristran to ask Yvaine for the topaz she carries, and through its magic the power of Stormhold passes to Tristran. However he declines to immediately return to Stormhold, leaving Lady Una to reign in his stead while he and Yvaine travel around Faerie. But before Yvaine and Tristran can set off on their journey, an impossibly aged hag turns up wishing to speak to Yvaine. She reveals herself as the witch-queen, but Yvaine, no longer fearful, tells her the good news that she has given her heart to Tristran. The witch-queen claims she'd have done better to give it to the Lillim, since Tristran is sure to break it as all men do. The witch-queen then leaves them forever, fearful of the cruelty her sisters will inflict upon her for failing.
Many years later, Tristran and Yvaine finally return to Stormhold, and Tristran assumes his duties as the Lord of Stormhold. When he eventually grows old and dies, Yvaine continues to reign as the immortal ruler of Stormhold.