Orsino (Christopher Ravenscroft), an Illyrian nobleman, has a serious case of seemingly unrequited love, the object of his affections and his mooning being Lady Olivia (Caroline Langrishe). Because she is still mourning her dead brother she will not consider accepting his romantic overtures.
Just as there is a storm in Orsino's heart, there is also a storm off the coast. In a shipwreck, a young woman, Viola, (Frances Barber), almost drowns, but washes up on the shoreline. She is alone and believes her twin brother, Sebastian (Christopher Hollis), has been drowned in the shipwreck. She is a stranger in a strange land, but a passing ships captain tells her about Orsino and his unsuccessful courtship of Olivia. Viola decides that working in Olivia's court will be a good opportunity. However, she also learns that Lady Olivia refuses to speak with strangers. This makes it very unlikely that she will give Viola a position in the court, and so she decides instead to disguise herself as a man and look for work in Duke Orsino's household. She dons her disguise and takes the name Cesario.
"Cesario" soon becomes a very popular member of Orsino's household, and is given the role of personal page to the nobleman. Cesario finds herself starting to fall in love with Orsino. This is tricky. Orsino believes that she is a man, but when he sends her to deliver a love message to Olivia, it is Olivia who finds herself smitten with the new young page. The unorthodox love triangle is then introduced; Olivia loves Cesario/Viola who loves Orsino who loves Olivia. Despite the fact that love is supposed to make people happy, the three people involved in this unrequited love triangle are thoroughly miserable.
Enter the "light relief" of the movie in the form of Lord Andrew Aguecheek (James Simmons) and Sir Toby Belch (James Saxon). Their basic goal in life is to enjoy themselves as much as possible whilst consuming as much ale as possible. They grow impatient with Malvolio (Richard Briers) because he does not share their appetite for fun; in fact, he's somewhat of a Medieval Debbie Downer. The answer to his disapproval is to play a prank on him, and they decide to make him think that Lady Olivia is in love with him. Maria forges a letter addressed to Malvolio, ostensibly from Olivia. The letter tells him that in order to win her favor, he must dress in yellow stockings and garters, constantly smile, and not say a word to anyone in explanation of his suddenly outlandish behavior. Malvolio does as the letter instructs but acts so oddly that Olivia begins to believe that he is completely insane.
It turns out that Sebastian (Christopher Hollis) did not drown in the shipwreck as Viola had believed but for his part believes that his sister drowned, and when he arrives in Illyria with his friend Antonio Antonio is attracted to Sebastian and desperately attached to him, so much so that he follows him to Orsino's court, despite the fact that he and Orsino have been mortal enemies for years.
Sir Andrew has noticed that Lady Olivia is rather attracted to Cesario. He challenges Cesario to a duel, encouraged by Sir Toby who can see enormous comic potential in the combat for his own amusement. However, this duel coincides with Sebastian's arrival and because Viola is still disguised as "Cesario" the two men make the understandable mistake of believing him to be Cesario; they attempt to beat him up but they are interrupted by the arrival of Olivia. She, too, believes Sebastian to be Cesario and begins to ask him to marry her. He is perplexed, since they have never met,but she is beautiful, and wealthy too, so he decides to go along with her and agrees to her proposal.
Antonio has been arrested by Orsino's officers, and where he previously was Sebastian's right hand man, he is now in the position of having to ask Sebastian to help him. Mistaking Cesario for Sebastian, Antonio begs him/her for help. Viola (as Cesario) protests that she does not know him and as a result he is dragged away, bemoaning Sebastian's disloyalty. His complaints also alert Viola to the fact that her brother might be alive after all.
Malvolio has been locked in a small, dark room because his behavior has become so outlandish. He is subjected to so much prodding and poking and ridicule that Sir Toby starts to feel ashamed of himself for colluding in such a prank. He suggests to Malvolio that he writes a letter to Olivia, asking her to release him.
Still disguised as Cesario, Viola and Orsino head to Olivia's house where she welcomes Cesario as her husband, believing that he is Sebastian, the beautiful man whom she has just married. Orsino is fuming. Sebastian then appears in person, and all is revealed. Viola and Sebastian are overjoyed to find that they both survived the shipwreck; Orsino realizes that Viola is a woman, and proposes. Sir Toby and Maria have also stolen away to be married. Lastly, Malvolio is released from his darkened room, of course finding the amusement and confusion an irritation, and storming off, under his own black cloud of bad humor.