Max Fischer (Schwartzman), an eccentric 15-year-old, is a scholarship student at Rushmore Academy, a private school in Houston. He is both Rushmore’s most extracurricularly active and least scholarly student. He spends nearly all of his time on elaborate extracurricular activities, dramatically affecting his grades. He also has a feud with the school’s headmaster, Dr. Guggenheim.

At a school assembly, Max meets Herman Blume (Murray), a disillusioned industrialist who finds his operation of a multimillion-dollar company to be tedious. He is upset that his marriage is failing and the two sons he’s putting through Rushmore are impolite and obnoxious brats spoiled by their mother. Herman comes to like Max, and the two become good friends. Max is impressed by Herman’s success, while Herman is interested in Max’s confident persona.

Max also develops an obsession with Rosemary Cross (Williams), a widowed teacher who arrives at Rushmore as a new first grade instructor. She joined Rushmore after the death of her husband, who was a former student. While she initially tolerates Max and his attempts to pursue her, Rosemary becomes increasingly worried by his obvious infatuation. Along the way, Blume attempts to convince Max that Rosemary is not worth the trouble, only to fall for Rosemary himself. The two begin dating without Max’s knowledge.

After Max attempts to break ground on an aquarium without the school’s approval, he is expelled from Rushmore. He is then forced to enroll in his first public school, Grover Cleveland High. Max’s attempts to engage in outside activities at his new school have mixed results. A fellow student, Margaret Yang (Tanaka), tries to befriend Max, but he acts hostile towards her. Rosemary and Blume attempt to support him in his new school.

Eventually, Max’s friend Dirk discovers the relationship between Rosemary and Blume and informs Max as payback for a rumor Max started about his mother. Max and Blume go from being friends to mortal enemies, and they engage in back-and-forth acts of revenge. Max informs Blume’s wife of her husband’s affair, thus ending their marriage. Max then puts bees in Blume’s hotel room, leading to Blume breaking Max’s bicycle with his car. Max is eventually arrested for cutting the brakes on Blume’s car.

Max eventually gives up and meets Blume at his mother’s grave. He explains that revenge no longer matters because even if he wins, Rosemary would still love Blume. Max becomes depressed and stops attending school. He becomes reclusive and works as an apprentice at his father’s barber shop. One day, Dirk stops by the shop to apologize to Max and brings him a Christmas present. Dirk suggests Max see his old headmaster in the hospital, knowing Blume will be there. Max and Blume meet and are courteous. Blume tells Max that Rosemary broke up with him out of her continuing love for her dead husband. Max begins to apply himself in school again, and also develops a friendship with Margaret, whom he casts in one of his plays.

Max takes his final shot at Rosemary by pretending to be injured in a car accident, soliciting her affection. When she discovers that Max’s injuries are fake, he is rebuffed again. Max makes it his new mission to win Rosemary back for Blume. His first attempt is unsuccessful, but then he invites both Herman and Rosemary to the performance of a play he wrote, making sure they will be sitting together. In the end, she and Blume appear to reconcile. Max and Margaret become a couple and dance together at the “Heaven and Hell Cotillion” after Max’s play, and then Max shares a dance with Rosemary.