The play begins with an Induction, which establishes a frame for the main plot. The drunken beggar Christopher Sly gets thrown out of a tavern and falls asleep. A noble lord passing by finds him and decides to play a joke on him. He dresses Sly up in noble clothes and convinces him that he is a wealthy nobleman who has recently been mad and had forgotten his true identity. The lord has his young page dress up as Sly's noble wife, and hires a group of traveling players to put on a play for Sly. The rest of the play is then the production of these players.
The main plot of the play begins in Padua, where the young scholar Lucentio arrives with his servant Tranio. They soon catch sight of Baptista and his two daughters: Bianca and Katherine. Bianca is followed by male suitors, while Katherine appears to be harsh and ill-mannered. Baptista tells Bianca's suitors, that because Bianca is his younger daughter, she will not be married until his older daughter, Katherine, finds a husband. Upon seeing Bianca, Lucentio falls madly in love. Tranio suggests that Lucentio should disguise himself as a teacher to tutor Bianca, so that he can get close to her and spend time with her. Tranio, then, will dress up as Lucentio. Lucentio agrees to the plan.
Another man, named Petruchio, arrives in Padua with his servant Grumio, seeking a wife. His friend (and a suitor of Bianca) Hortensio alerts Petruchio to Katherine, and Petruchio says that he is interested in her. Hortensio promises to direct Petruchio to Katherine's father, but asks that Petruchio then introduce Hortensio in disguise as a music teacher, so that the disguised Hortensio can enter the house and be with Bianca.
At Baptista's house, Katherine teases and bullies Bianca. Baptista stops their quarreling as Gremio (one of Bianca's suitors), Lucentio (disguised as the teacher Cambio), Petruchio, Hortensio (disguised as the teacher Litio), and Tranio (disguised as Lucentio) all arrive. Petruchio announces his intention to marry Katherine, and the two "teachers" introduce themselves. Baptista sends the teachers inside to Bianca, and negotiates Katherine's dowry with Petruchio. When Katherine comes to see Petruchio, she is rude, doesn't like him, and hits him. Petruchio, though, is confident in his ability to reform her manners. Baptista agrees to marry Katherine to Petruchio, and then turns to deciding who he will get to marry Bianca: Lucentio (Tranio in disguise), Hortensio, or Gremio. After hearing the suitors' describe their riches, Baptista decides that Bianca will marry Lucentio, on the condition that Lucenito's father (Vincentio) will guarantee that Lucentio will indeed inherit his fortune.
Within Baptista's home, Lucentio and Hortensio (disguised as teachers) instruct Bianca. While pretending to teach her, Lucentio reveals his true identity and intentions to her. On Katherine and Petruchio's wedding day, Petruchio is late, much to the dismay of Katherine. When he finally arrives, he is wearing an absurd outfit, which irritates Baptista and Katherine. Meanwhile, Tranio comes up with a plan to help Lucentio get Bianca. He will find a stranger to pretend to be Lucentio's father, in order to guarantee Lucentio's finances. Petruchio and Katherine return from the church where they were just married. Petruchio announces that he and Katherine must leave immediately, skipping the elaborate feast that has been prepared for the wedding. Katherine wants to stay, but Petruchio takes her with him, as they go to his country home.
At Petruchio's home, Petruchio acts like a madman and is rude to all of his servants. He constantly corrects and berates Katherine, and pretends to find something wrong with all the food that his servants bring her so that she gets nothing to eat. This is all part of his plan to tame her by denying her food and preventing her from even sleeping.
In Padua, Hortensio discovers Bianca and Lucentio (still disguised as a teacher) kissing. Frustrated, he gives up on Bianca and decides to marry a wealthy widow. Meanwhile, Lucentio's servant Biondello comes to Lucentio and Tranio and informs them that he has found someone to play Lucentio's father. He introduces Tranio to the man, an old merchant. Tranio lies and tells the merchant that his life is in danger in Padua, so he should pretend to be Lucentio's father in order to protect himself. The merchant agrees to dress up as Lucentio's father, and thanks Tranio for his apparent help.
Back at Petruchio's home, Katherine complains of Petruchio's behavior. She has not been able to sleep or eat at all, and begs Grumio for some food. Grumio tempts her by suggesting various dishes, but decides that none of them are suitable for Katherine. Like Petruchio, he thus starves her under the pretense of caring for her. Petruchio enters with a large portion of meat. He does not let Katherine eat until she thanks him for it, and when she does, he allows her to eat. Petruchio brings in a tailor and a haberdasher with clothes for Katherine to wear to Bianca's wedding banquet. The clothes are made exactly to Petruchio's specifications, but he rejects them as a way of exerting control over Katherine. His goal is to make her agree to any whim or opinion of his.
Tranio brings the merchant (disguised as Lucentio's father) to Baptista. The merchant guarantees Lucentio's inheritance, and Baptista is ready for the marriage with Bianca to happen. Baptista, Tranio (still in the guise of Lucentio), and the merchant go to Lucentio's house in Padua to discuss the financial particulars of the marriage arrangement. Meanwhile, the real Lucentio and Bianca plan to elope to a church to be married.
Petruchio, Katherine, Hortensio, and some of Petruchio's servants make the journey to Padua for Bianca's wedding banquet. On the way, Petruchio calls the sun the moon, and an old man they encounter a young woman. He forces Katherine to agree with his mad statements, showcasing his dominance over her. The old man, a bit confused by being called a young woman, introduces himself as Vincentio, Lucentio's real father. He is on his way to see his son in Padua, and he joins Petruchio's company on the journey there.
When Petruchio and his group arrive in Padua, Vincentio encounters the merchant and Tranio in their disguises. He gets into a furious argument with both of them, who insist that they are Lucentio and his father. Baptista believes Tranio and the merchant, and Vincentio is about to be carried off to jail by a police officer, when Lucentio arrives with Bianca. Lucentio confesses to his deceit, and reveals the true identities of the merchant and Tranio. Baptista and Vincentio are upset by all this, but ultimately approve of the marriage between Bianca and the real Lucentio.
At the banquet celebrating Lucentio and Bianca's wedding, the various male characters tease Petruchio for being married to a shrew. Petruchio responds by proposing a bet. He, Hortensio, and Lucentio will all call their wives, and the husband whose wife comes first will win a sum of money. Hortensio's widow and Bianca do not come when called, but Katherine comes immediately when Petruchio sends for her. The other husbands are amazed at Katherine's newfound obedience. Petruchio sends Katherine to fetch the other wives. When they are all present, Katherine delivers a long speech detailing a wife's duties owed to her husband. Petruchio is pleased with her speech and the two go off to bed, leaving the other characters to marvel at how Katherine has been tamed.