The film opens with Injun Joe (Eric Schweig) accepting a job from Doctor Robinson (William Newman). Then Tom Sawyer (Jonathan Taylor Thomas) is running away from home. He and his friends ride down the Mississippi River on a raft, but hit a sharp rock, which throws Tom into the water. His friends find him washed up on the shore, and Tom finds it was Huck Finn (Brad Renfro) who carried him to safety. Huck learns of an unusual way to remove warts - by taking a dead cat to the graveyard at night. There they witness Doctor Robinson being murdered by Injun Joe.
The town drunk, Muff Potter (Michael McShane) is framed for the murder; unfortunately, Tom and Huck had signed an oath saying that if either of them came forward about it, they would drop dead and rot. The duo then goes on a search for Injun Joe's treasure map (which he found in Vic Murrell's coffin), so they can declare Muff Potter innocent and still keep their oath. The only problem is, the map is in Injun Joe's pocket. After Joe finds the first treasure, he burns the map and discovers that Tom was a witness to the murder. He warns Tom that if he ever told anybody what he knew, Injun Joe will kill him. However, at the time, the entire town thought he was dead, and the friendship between Tom and Huck starts to decline, due to the fact their evidence (the map) to prove Muff innocent while preserving their oath is destroyed.
At the trial of Muff Potter, Tom decides that his friendship with Muff is more important than his oath with Huck and tells the truth to the court, which finds Muff innocent of all charges and goes after Injun Joe. As a result, Injun Joe decides to hold up his end of the bargain by killing Tom. Huck becomes angry with Tom for breaking their oath and leaves town. During a festival the next day, a group of children, including Tom Sawyer and Becky Thatcher (Rachael Leigh Cook), enter the caves where Tom and Becky become lost. They stumble upon Injun Joe (who was hunting for Tom) in the cave. He traps them, but Tom and Becky manage to escape. Then they find the treasure and Tom tells Becky to go get her father and bring him back.
Just then Injun Joe finds Tom and again tries to kill him. Huck returns to help save Tom, and battles Injun Joe, who then falls into an enormous chasm inside McDougal's Cave. The boys reconcile and are declared heroes by the people. Tom is praised on the front page of the newspaper and Widow Douglas (Marian Seldes) decides to adopt Huck Finn.