維京島國的少年小嗝嗝(傑伊•巴魯切爾 Jay Baruchel 配音)是部落統領偉大的斯托里克(傑拉德·巴特勒 Gerard Butler 配音)的兒子,他非常想像自己的父親一樣親手屠龍——這些飛龍是島上維京人放牧羊羣的主要天敵——但他每次出現在部落屠龍的戰鬥中都只給大家徒增煩惱。在一次對抗飛龍的戰鬥中,希卡普偷偷用射龍器擊傷了一隻最神祕的「夜之怒龍」,並背著族人放生、豢養,甚至馴服了這隻龍,還給它起名「無牙」。希卡普的神祕行徑引起了一同訓練屠龍技巧的女孩阿斯特麗德(亞美莉卡·費雷拉 America Ferrera 配音)的懷疑。阿斯特麗德發現了希卡普的祕密,卻同時被身騎「無牙」御風而飛的美妙體驗所震撼。格雷決定在屠龍成人禮上向遠征歸來的斯托里克和族人講明真相,說服大家放棄屠龍,卻偏偏弄巧成拙,害得「無牙」被俘,一場更大的災難就在眼前……