Mischievous 12-year-old Ingemar (Anton Glanzelius) gets into all sorts of trouble, which drives his mother (Anki Lidén) crazy; Ingemar does not know that his mother is in fact terminally ill. When he and his older brother become too much for her, they are split up and sent to live with relatives. Ingemar ends up with his maternal uncle Gunnar (von Brömssen) and his wife Ulla (Kicki Rundgren) in a small rural town in Småland. Gunnar and Ingemar bond over Povel Ramel’s recording of “Far, jag kan inte få upp min kokosnöt” (a free rendition of the original song).
In the town he encounters a variety of characters. Saga (Kinnaman), an assertive tomboy his own age, likes him, and shows it by beating him up in a boxing match. Among the more eccentric residents is Fransson (Magnus Rask), a man who continually fixes the roof of his house, and Mr. Arvidsson (Didrik Gustavsson), an old man living downstairs who gets Ingemar to read to him from a lingerie catalog.
Later, Ingemar is reunited with his family, but his mother soon takes a turn for the worse and is hospitalized. He and his brother go to stay with their uncle Sandberg (Leif Ericson) in the city, but his wife thinks the boy is crazy. After his mother passes away, he is sent back to Småland.
Mr. Arvidsson has died in the interim; Gunnar and Ulla now share the house with a large Greek family. Gunnar welcomes him and consoles him as best he can, but the house is so crowded, he has Ingemar live with Mrs. Arvidsson in another house. Meanwhile, Ingemar becomes the object of contention between Saga and another girl. When they start fighting over him, he grabs onto Saga’s leg and starts barking like a dog. She becomes upset by his strange behavior and gets him into the boxing ring. During the bout, out of spite, she tells him that his beloved dog (which he had thought was in a kennel) was actually euthanized. This, along with his mother’s death, is too much for him and he locks himself inside Gunnar’s one-room “summer house” in the backyard. The time spent here forces Ingemar to reflect on the death of his mother, the loss of his dog and a changing world. Ingemar uses the experiences of others and of his own personal loss to reconcile a life which is sometimes tough.
The movie ends with the radio broadcast of a famous heavyweight championship boxing match, between Swede Ingemar Johansson and American Floyd Patterson. When Johansson wins, the whole town erupts with joy, but the now-reconciled Ingemar and Saga are fast asleep together on a couch.
Throughout the film, Ingemar tells himself over and over that it could have been worse, reciting several examples, such as a man who took a shortcut onto the field during a track meet and was killed by a javelin and the story of the dog Laika several times, the first creature sent into orbit by the Russians (without any way to get her back down).