尼尔斯是个调皮捣蛋的男孩子,由于没有对小狐仙兑现诺言而被变成了能听懂动物语言的拇指般大的小人儿。为了找到小狐仙讲和,变回原形,尼尔斯来到牛棚寻求家禽的帮助,但遭到麻雀、鹅、鸡、猫、牛等动物们的嘲笑、奚落。在此期间,他还跟猫进行了一场“决斗”并最终失败。
一群大雁飞过,尼尔斯家的雄鹅“跃跃欲飞”,几次尝试后,它竟然学会了飞翔。关键时刻,为了保护自家的雄鹅,不让父母伤心,尼尔斯抱住了企图加入大雁飞行行列的雄鹅,被雄鹅带上了空中,开始了此次旅行。
起初,群雁的头领阿卡对尼尔斯的傲慢很反感,不愿意带着他飞行。但尼尔斯从狐狸斯密尔的口中救出了一只大雁,领头雁阿卡大受感动,决定带着他横穿瑞典,飞往它们要去的地方。
在格里敏的大楼里,灰老鼠企图趁黑老鼠外出参加鹤舞表演时占领黑老鼠的大谷仓,尼尔斯加入保护黑老鼠大楼的行动中。他吹奏一只形状像烟斗的小口哨让灰鼠们最终离大谷仓越来越远。
在大雁阿卡的帮助下,尼尔斯来到了库拉山,参加每年都要在这里举行的游艺大会。他见识了乌鸦的飞行舞、山兔的表演、大松鸡的啼鸣、马鹿的角斗、大雁的表演……其中,企图破坏表演大会的狐狸斯密尔也受到了“惩罚”。
狐狸斯密尔为了报仇,在大会结束后仍追踪大雁们,并多次唆使紫貂、水懒伤害大雁,但由于尼尔斯的帮忙都无疾而终。狐狸斯密尔威胁大雁交出尼尔斯,大雁阿卡说:“我们中间从最小的到最老的都愿意为他而献出自己的生命。”尼尔斯听后大为感动。
在狐狸斯密尔的挑唆下,乌鸦群劫持了尼尔斯,企图让尼尔斯帮助他们打开装有小银币的罐子。尼尔斯通过“嘲笑”鸦鸟、斑鸠、惊鸟、公鸭,暗中报告给大雁自己的行踪,并成功杀死了坏乌鸦,逃脱了斯密尔的追杀,与大雁阿卡和雄鹅会合。
他们躲到了一家农舍,在农舍里尼尔斯满足了母牛的愿望,帮助安顿、悼念已逝的老妇人。随后,尼尔斯继续跟随大雁旅行,并在小卡尔斯岛上帮助羊群赶走狐狸,在地狱洞里保护雄鹅,救了放鹅姑娘奥萨……
在与雁群生活了多日以后,尼尔斯与大雁建立了深厚的情感,也明白了很多做人的道理。
在飞往外国前,大雁阿卡建议尼尔斯回家看看。尼尔斯回到了家中,看到了牛棚中的牛和慈爱的父母,父母从他人口中听到了尼尔斯的“英雄事迹”,大为欣慰。尼尔斯暗中帮助父亲给自家的马看好了病。
雄鹅带领几只大雁回家时被父母抓住。挽救雄鹅的那一刻,尼尔斯突然变回了人并不再听得懂动物的语言,他最终和大雁阿卡及雁群分别。