Polixeness, the king of Bohemia, is staying with his good friend Leontes, the king of Sicily, but would like to leave. Hermione, Leontes' wife, wants him to stay. Leontes becomes convinced that Polixeness and Hermione are having an affair.
Leontes asks Lord Camillo to poison Polixeness. Instead, the two escape back to Bohemia. Leontes throws Hermione in jail, where she has a daughter, Perdita. Paulina takes the infant girl to the king, but Mamillius - Leontes and Hermione's son - has taken ill. Leontes blames Hermione for the boy's disease and insists that Antigonus, Paulina's husband, take Perdita away in a ship and desert her in the wild.
Leontes puts Hermione on trial for adultery. An oracle declares she is innocent. A servant comes to say that Mamillius had died, and Hermione faints. The shock forces Leone to realize he has become a tyrant, but Hermione dies. Shocked and grief-stricken, Leontes surrenders to his grief.
Back in Bohemia, Antigonus is abandoning Perdita. A bear appears and devours him as he returns to the ship. An old shepherd and his son find the baby and take her home to care for her.
Sixteen years pass, and Perdita has grown into a beautiful woman. Florizel, the son of Polixeness, vows to marry her. Polixeness learns of the plan and threatens to punish Perdita and revoke Florizel's throne. Camillo convinces the two lovers to return to Sicily. Leontes accepts Florizel and recognizes Perdita as his lost daughter. Polixeness follows close behind, and also is welcomed by Leontes.