Polixenes, King of Bohemia, has been on a nine-month visit to the court of his childhood friend Leontes, King of Sicilia, and his wife, Queen Hermione.
Leontes becomes convinced (wrongly) that his heavily pregnant wife has been having an affair with Polixenes. Leontes tries to persuade his most trusted courtier, Camillo, to poison Polixenes.
Convinced of the queen's innocence, Camillo warns Polixenes and they depart for Bohemia together.
Another courtier, Antigonus, is ordered to leave Hermione's newly born daughter on a desert shore.
Leontes tries Hermione for treason; when he denies the truth of the god Apollo's oracular declaration of her innocence, his son Mamillius dies. He is then told that the queen has also died.
Antigonus leaves the baby girl on the coast of Bohemia, where he is torn to pieces by a bear. An old shepherd and his clownish son find the baby, bring her up as a member of their family and name her Perdita.
16 years later
Perdita is being courted by Polixenes' son, Prince Florizel, who has disguised himself as a shepherd, Doricles.
The roguish pedlar Autolycus tricks the shepherds out of money. Polixenes and Camillo come in disguise to the countryside; when the king denounces his son for courting a low-born shepherdess, Florizel and Perdita flee to Sicilia, with the assistance of Camillo.
Stop reading now if you don't want to know the end of the story ...
The truth comes out
The shepherd and clown follow, bringing tokens that reveal Perdita's true identity. That which was lost having been found, Paulina, the lady most loyal to Hermione, reveals a statue of the dead queen and tells everyone to prepare themselves for a great wonder.
They comment on how beautiful and realistic the statue is, and it comes to life. Hermione and Leontes are reunited as their daughter, Perdita, is betrothed to Florizel.