在博克岛(Berk Island)的维京居民们和龙族和平相处了五年之后,龙已经成为了和人们一起居住的好伙伴。他们不仅帮助人们工作,赛龙甚至还成为了岛上最受欢迎的一项运动。主角小嗝嗝(Hiccup)和他的龙——无牙(Toothless)则在闲暇时四处探索未知的土地。他的父亲——族长史圖伊克(Stoick),却也因为小嗝嗝年纪的增长而逐渐向他施压,希望他能够准备好继承并承担自己身为首领的身分和责任。
小嗝嗝和他的女友亞丝翠(Astrid)两人在调查一场森林大火时发现了一座被巨大的绿色冰柱所包围的堡垒,并遇到了一位名叫艾雷特(Eret)的捕龙者。艾雷特以为破坏堡垒是小嗝嗝等人所为,企图捕捉他们的龙并献给一位名叫跩爺(Drago Bludvist)的疯狂猎龙者。两人逃脱并回到博克岛后告知了史圖伊克有關德雷格正蠢蠢欲动一事,史圖伊克得知后便命令居民们加强岛上的防备并准备迎接一场战争。史圖伊克提到他曾在一场首领的聚会上见过德雷格,发现他是个极不讲理的恶人;然而,小嗝嗝却不愿相信战争是无可避免的。小嗝嗝后来再一次拜访了艾雷特,并试图要求艾雷特带他去见德雷格;不料计画却被史圖伊克一行人阻止,小嗝嗝和无牙便单独前去寻找德雷格的下落,希望能够找到他并说服他不要开战。
途中,他们被一位霍然从层云中现身、名叫娃卡(Valka)的龙骑士活捉,后来却发现娃卡竟是小嗝嗝失散多年的母亲。娃卡解释道,她消失的这二十年来一直不断地从德雷格手中拯救被他所捕获的龙,并把牠们带到了一座绝世小岛上;那座岛是由一隻至尊龙(Bewilderbeast)吐出的冰柱所形成的,而岛上所有的龙都服从著这隻至尊龙的命令。史圖伊克循著小嗝嗝的踪跡也找到了那座岛,并赫然发现他的爱妻仍然活著。同时,亚丝翠等人绑架了艾瑞特,逼迫他带著他们去见德雷格;然而一行人后来却都被德雷格的军队包围并监禁,德雷格也因此得知了博克岛上住著龙群一事。
德雷格於是带著他自己的至尊龙和军队抵达了娃卡的避难岛,挑战岛上原有的至尊龙并展开围攻。两隻至尊龙接著开始了激烈的战斗,在一阵混乱后德雷格的至尊龙取得了胜利并控制了岛上所有的龙,其中也包含了无牙。小嗝嗝试图说服德雷格停止战争,德雷格却毫不领情,甚至下令受到控制的无牙仔杀死小嗝嗝。无牙受到指令后逼近小嗝嗝,而在无牙仔向他发出电石砲攻击的一瞬间,史圖伊克赶到并推开了小嗝嗝;最后,史圖伊克被电石砲击中并当场死亡。小嗝嗝在伤痛欲绝之际愤怒地推开了恢復意识后充满疑惑的无牙,而德雷格则将小嗝嗝一行人弃之不顾,再次控制无牙并驾著牠徜徉而去,带著一批更加壮大的军队前往摧毁博克岛。在史圖伊克的丧礼举行之后,小嗝嗝带著悔恨、以及同时失去了自己的父亲和宠物龙的心决定飞回博克岛,保护岛上的居民并继承他父亲身为族长重大的责任。
包含了艾瑞特的小嗝嗝一行人於是骑著不受至尊龙所控制的幼龙回到已经被跩爷的军队所侵略的博克岛,发现德雷格的至尊龙已经控制了岛上所有的龙。小嗝嗝前往对付德雷格和被洗脑的无牙,而其他人则试图分散至尊龙的注意力。德雷格再一次命令无牙杀死小嗝嗝,不过这次小嗝嗝却成功让无牙脱离至尊龙的控制,使牠回復正常。德雷格见状后便使至尊龙向他们俩发射冰柱,将他们困在厚重的冰层中,表面上似乎成功杀死了小嗝嗝和无牙;然而,无牙却突然爆发,身上闪耀著水蓝色的电光,破坏冰层后和毫髮无伤的小嗝嗝一同挑战德雷格的至尊龙。无牙不断向至尊龙发射电石砲,岛上的龙群於是逐渐脱离了至尊龙的控制,反而也开始朝著至尊龙发射火砲。至尊龙受到了重伤,而无牙发射的最后也是威力最强大的一发电石砲打断了牠左侧的长牙。
德雷格和他的至尊龍落敗之後撤退到了大海中,博克島的居民們於是歡慶他們的勝利。而島上所有的龍則視無牙為新的至尊龍,小嗝嗝也被長老指派為博克島的新族長。事後,島上的居民們為了紀念史圖伊克的功績而建造了一座他的石像。