Hiccup,壹個維京少年,想要證明自己是壹名合格的屠龍手。Stoick,強壯勇敢的維京族族長,也是Hiccup的父親,他拒絕讓他瘦弱的兒子加入鬥爭。在博克島,和龍戰鬥是生存的方式,所以Hiccup迫切地希望向父親證明他的價值,獲得同伴的接納,特別是Astrid.
Hicuup決定違反父親的命令,冒險加入戰鬥,從此他的人生得到了改變。他用自制的石弓捕獲了壹只神秘的夜煞龍,但是他找不到任何證據來證明他的成功,他只能屈服於同伴的嘲笑和父親的指責。
當Hiccup偷偷跑到森林裏,他不僅找到了夜煞龍,他也意識到當自己面對壹只怪獸時不忍心動手殺掉它。於是他冒著生命危險給龍松了綁,但是這只龍並沒有傷害他。並且龍受了傷,無法起飛。Hiccup像朋友壹樣幫助它。他給龍起名叫無牙仔,每天給它準備食物,細心德修復它的尾翼。這樣的友情使Hiccup意識到博克島的族人壹直以來都誤會了所有的龍。
Hiccup認識到他的使命不是傷害和殺掉龍,所以他害怕見到戈伯,戈伯是博克島的鐵匠,也是名經驗豐富的戰士,他說服Stoick讓Hiccup加入少年屠龍手的訓練。Hicuup必須利用白天的時間跟隨戈伯學習如何屠龍。
起初,Hiccup是班上表現最差的學生。他冒冒失失的性格對於他的夥伴們Astrid, Snotlout, Fishlegs, Ruffnut 和他的雙胞胎兄弟Tuffnut來說早就不足為奇。當他和無牙仔玩耍了壹段時間,了解了龍的習性後,他成為了班上成績最好的學生。Astrid滿心的嫉妒和懷疑,她跟蹤Hiccup到樹林裏,發現了他的秘密,Hiccup壹時無法解釋他和無牙仔的關系,就索性帶Astrid壹起駕著無牙仔在空中飛翔來證明龍的友善。
在他們飛翔的途中,他們發現所有的龍都在返回它們的巢穴。二人找到了維京族幾代人未發現的龍穴。但事實並非他們想象的那樣,像無牙仔這樣的龍都是受支配於壹只駭人的巨龍。所有的龍都從維京族人那裏偷食物來給這只名叫Red Death的巨龍,以免自己被吃掉。
當Stoick從尋龍穴未果的旅途中回到島上,他意外並欣慰地得知Hiccup在屠龍培訓的課程中表現不俗。Hiccup嘗試向父親解釋真相,但在父親巨大的期望前他還是默默隱瞞了事實。不久,島上四年壹度的屠龍大會如期召開,Hiccup被全島人寄予厚望,但當比賽進行到壹半時,Hiccup確丟掉了他的武器,嘗試著演示給維京族人,龍只是在自我保護的時候才會選擇反抗。族長Stoick看到此景,立即上場打倒了龍,終止了比賽。Hiccup被氣急敗壞的父親關了禁閉,無牙仔聽到他的哭聲,前來營救,但確被憤怒的維京人逮了起來。
Stoick決心前往龍穴徹底地鏟除所有的龍,他不但沒有聽從Hiccup關於巨龍Red death的警告,更選擇同hiccup脫離父子關系,並俘虜無牙仔做向導帶領族人前往龍穴。當族人紛紛起航,hiccup和夥伴們集合碰面,他們決定駕上戈伯訓練的龍向船隊追去。
維京族人對和巨龍RedDeath戰鬥沒做充足的準備,Stoick,非常清楚的意識到他犯了大錯,當Hiccup趕到的時候他正準備犧牲自己保護族人。無牙仔被後悔的Stoick釋放,重新和Hiccup團聚。隨後Hiccup和夥伴們並肩作戰打敗了巨龍RedDeath,而Hiccup也因此受了重傷。
回到博克島,Hiccup醒來發現自己的左腿已經被戈伯做的假肢替代。當他走出家門看到族人們和龍其樂融融的生活在壹起的場面,難過也變成了喜悅。