狐狸斯密萊在攻擊野鵝群失敗以後,一直懷恨在心。他緊緊跟蹤著野鵝群,總想飽餐一頓,隻是因為老阿卡帶領的野鵝群,不是宿在無法攀援的懸崖峭壁下麵,就是宿在大河中央的浮冰上,使他無從下手。為了報複,狐狸先後讓貂和水獺去騷擾野鵝群,都未獲成功。最後,他用花言巧語,唆使強盜山上的烏鴉頭子富姆萊去把野鵝群中的小人兒——尼爾斯叼來交給他,以解他的心頭之恨。

一天早晨,尼爾斯正在草叢中覓食,富姆萊和那幫烏鴉強盜突然把他叼走了。到了強盜山,尼爾斯看到紅尾巴的狐狸斯密萊,心中就明白了大半。他機智地離間了烏鴉頭子和狐狸的關係,幫烏鴉們打開了裝銀幣的壇子。烏鴉放走了尼爾斯,還送了他一塊銀幣。在回野鵝群的途中,尼爾斯又設計將一直跟蹤著他的狐狸用鐵鏈鎖了起來。

野鵝群繼續向著北方飛。他們戰勝了海上的大風暴,越過了神奇的海底城市維涅達和許多險峻的山崖,來到了格裏明根古堡。古堡的居民們——鸛鳥、貓頭鷹、蝙蝠和貓們,正亂成一團,因為成群的灰田鼠正向古堡進攻。在這緊急關頭,尼爾斯用貓頭鷹從森林小妖精那裏借來的魔笛,消滅了所有的灰田鼠,拯救了古堡。尼爾斯成了鳥獸們爭相傳頌的英雄。

春天已經到了。為了趕上一路上被耽誤的時間,野鵝們日夜兼程飛向北方,飛向拉伯蘭。途中歇息時,尼爾斯乘著夜色去遊覽一座城市,差一點被廣場上的國王銅像砸死。為了幫助尼爾斯尋找失落的小木靴,馬丁成了農婦的俘虜,靠著尼爾斯的機智勇敢,他們才死裏逃生,帶著新夥伴——母家鵝馬太,終於趕到了拉伯蘭。

在拉伯蘭的灰岩山下,出現了一整座野鵝的城市。馬丁和尼爾斯也都在這裏建造了他們各自的房子。馬丁和馬太成了家,不久生下了五個活潑的孩子,尼爾斯給他們起名為尤克西、卡克西、柯裏美、妮裏愛和維西,就中數尤克西最頑皮。其他的野鵝也都生了不少小野鵝。

隨著時間的推移,尼爾斯越來越想家了,也越來越想恢複人形。應尼爾斯的要求,老阿卡派她的幹兒子——大鷲高爾哥,從貓頭鷹那兒打聽到了森林小妖精的秘密:除非別的生物情願變成一個像尼爾斯一樣小的家夥,否則尼爾斯永遠不能變成人。可是誰願意變成這麼小的家夥啊!尼爾斯太絕望了。

夏季過去了,老阿卡發布命令:準備出發飛行。野鵝群比春天時擴大了3倍,22隻小野鵝同他們的爸爸、媽媽一起排成人字隊形,向著南方飛去。南飛的路線也就是他們春天飛到北方去的路線。飛到尼爾斯的家鄉的時候,尼爾斯請求老阿卡讓他去家裏看一下,馬丁也帶著妻子和孩子們讓他們去看看他青年時代住過的鵝棚。當他們看完家準備繼續南飛的時候,調皮的尤克西表示不願意再到處飛了。尼爾斯嚴厲地對他說:“既然你爸爸命令你飛,你就應當飛!”尤克西噝噝地怒叫著:“你自己騎在爸爸的脖子上,連手指也不用動一動。……但願我能變得象你這麼小!這樣,我也可以坐在爸爸的背上了……”他的話還沒有說完,馬丁、馬太和小鵝們都尖聲叫了起來。原來尼爾斯已經恢複了人形,而尤克西卻一下子變得那麼小,跟一隻小雞差不多!

天亮了,尼爾斯回家了,爸爸、媽媽非常高興。從此以後,尼爾斯用功學習,成了一個好孩子。