Tom Sawyer (Johnny Whitaker) and Huckleberry Finn (Jeff East) play hooky from school and have a plan to revive a dead cat with the spirit of a man who is on his death bed. Sawyer and Finn talk with Muff Potter (Warren Oates), the town drunk, but are interrupted when Injun Joe (Henry O'Brien) says that Doc Robinson (Richard Eastham) wants to see them. Potter and Joe meet Robinson and he informs them that they have a job to dig the grave of Williams. Joe is angry that Robinson didn't fix his leg correctly. Meanwhile, Sawyer continues to skip school and comes up with fantastic stories about why he's not home for dinner, where he tricks the children of the town to do his punishment chores for him.
After Williams dies, the two go to the graveyard and find out that Potter and Joe are digging up a grave on the advice of Doc Robinson. Joe continues to be angry at Robinson and demands more money for the job. When Robinson refuses, Joe picks up a shovel, accidentally knocking Potter out, hits Robinson into the grave with the shovel, then grabs Potter's knife and jumps in after Robinson. Sawyer and Finn witness all this and then run off, making a pact not to tell anyone what they saw. Joe frames Potter for the murder and Potter goes to jail. Meanwhile, the beautiful Becky Thatcher (Jodie Foster) moves to town which sends Sawyer into a romantic daze.
At the trial for Potter, Sawyer is unable to contain himself as Joe is called to the stand and lies about the incident, continuing to frame Potter for the murder. As Sawyer is called to the stand, he relates what happened, not mentioning that Finn was with him. Suddenly, Joe throws a knife at Sawyer, narrowly missing Sawyer's head and jumps out the window of the courthouse, fleeing. After the trial, Sawyer and Thatcher get "engaged" but that quickly ends when Sawyer mentions he's also engaged to Amy Lawrence. After sulking, Sawyer is attacked by Finn for "breaking the pact" and they both decide to run away. While paddling down the Mississippi, their raft is capsized by a passing riverboat and they end up on an island where they enjoy freedom and muse over what happened to Joe. While on the island, they witness some people "dragging the river", a process where a cannon is fired to bring up any bodies from the bottom of the river. Sawyer and Finn decide to "go home" and find out that there's a funeral being held for them.
The funeral service breaks up when Judge Thatcher (Noah Keen) sees them in the back of the church. The Widow Douglas (Lucille Benson) takes Finn under her wing after that. Later, at a 4th of July celebration, Sawyer and Becky Thatcher go into McDougal's Cave for a drink of water from the underground spring and run into Joe. Joe chases them through the cave, intent to kill Sawyer. However, Judge Thatcher, Muff Potter and Huckleberry Finn catch up to Joe and Potter throws a torch at Joe and he falls to his death. Later, Finn disappears, worrying the Widow Douglas and Sawyer finds him at the old fishing place they hang out at. Sawyer berates Finn for worrying Douglas, and Potter decides to leave the town.