大白鯊唐·里諾統(tǒng)領著一群鯊魚黑幫,在大海深處四處肆虐,把生活在珊瑚礁鎮(zhèn)的小魚小蝦嚇得個個談“鯊”色變。每當有鯊魚游過礁鎮(zhèn),大家都躲在家里不敢出門。
殘暴冷酷的里諾雖然一肚子壞水,卻對自己的兩個兒子法蘭克和蘭尼非常疼愛。他希望兩個兒子能一同繼承父業(yè),成為鯊魚黑幫首領的接班人。
里諾的小兒子蘭尼,雖然頭腦聰明,但卻與眾不同。他性情溫和,并且是個素食主義者。
虎父豈能有犬子!里諾對蘭尼嚴加管教,并且命令大兒子法蘭克帶著蘭尼出海,教教蘭尼如何做一個 “捕魚者”。
蘭尼跟著哥哥法蘭克“捕魚”,發(fā)現了正被兩個小混混欺負的小魚——奧斯卡。小混混遠遠看到鯊魚,丟下奧斯卡就跑。蘭尼阻攔不及,法蘭克沖向奧斯卡。可就在法蘭克將要吞掉奧斯卡的一瞬間,一艘人類漁船拋下的錨砸在了法蘭克身上,法蘭克當場死去。
蘭尼承受不了失去哥哥的打擊,哭著逃開。那兩個逃走的小混混回來想看看究竟,發(fā)現了法蘭克的尸體和驚魂未定的奧斯卡,他們誤以為是奧斯卡殺死了鯊魚。消息傳遍了礁鎮(zhèn),奧斯卡成了街知巷聞的大英雄,大家尊稱他為“鯊魚殺手”。金錢、地位、豪宅、美女……奧斯卡現在要什么有什么。
可這會兒,鯊魚們可不好過了。首領里諾的大兒子斃命、小兒子失蹤,整個鯊魚黑幫都籠罩在悲哀中。里諾派出手下,兵分幾路尋找蘭尼的蹤影。同時他們也已經收到消息:礁鎮(zhèn)突然冒出一個“鯊魚殺手”,很可能是殺死法蘭克的兇手。
蘭尼躲在水草叢中避開父親的手下,再次遇到了奧斯卡。失去了哥哥的庇護,蘭尼更不想回到成天逼著他“生吞活魚”的爸爸身邊。他請求奧斯卡把他藏在礁鎮(zhèn),并且答應保守法蘭克去世的真相。
奧斯卡的好朋友安吉造訪,發(fā)現了蘭尼,也識破了奧斯卡的謊言。作為好朋友,雖然不希望奧斯卡繼續(xù)撒謊,但安吉仍然保守了這個秘密。
蘭尼體會到小魚們對爸爸的恐懼,聰明的他策劃了一場“魚鯊之戰(zhàn)”。佯裝被奧斯卡打死,墜入海溝。這樣既可以讓礁鎮(zhèn)的居民們親眼目睹奧斯卡“鯊魚殺手”的英姿,又可以讓爸爸以為蘭尼已死。
蘭尼“墜入”海溝后,從早就設計好的路線偷偷潛回奧斯卡家。不用再擔心被爸爸找回家,蘭尼一身輕松。他用藍色油漆涂滿身體,偽裝成海豚,快樂地生活在礁鎮(zhèn)。
讓蘭尼打錯算盤的是,他忽視了爸爸對他的愛。即便是作惡多端,唐·里諾對兒子的愛卻充滿深情。他怎么可能放過害死兩個兒子的兇手?直到有一天,奧斯卡的好朋友安吉消失了,蘭尼才意識到自己的主意并不是那么高明。
安吉的辦公桌上留了一張字條,唐·里諾要親自會一會奧斯卡,如果今天中午之前奧斯卡不出現的話,安吉就是里諾的午后甜點了。
偽裝成海豚的蘭尼和奧斯卡一同來到里諾的住所。蘭尼縱身一躍,只一瞬間,就在眾目睽睽之下救下了安吉,把他藏在自己口中。
眼見“鯊魚殺手”的海豚手下都這么厲害,眾鯊魚不禁倒吸冷氣。里諾見狀,簡直要氣炸了肺。不過這會兒里諾沒心思理會奧斯卡,他正在注意那只“海豚”。這聲音,不就是兒子蘭尼么?
面對爸爸的質問,蘭尼只好擦掉藍色油漆,承認了自己的身份。乖巧的兒子竟然偽裝成海豚跟自己作對,里諾惱羞成怒,他把所有的憤怒都指向奧斯卡。
里諾滿世界追殺奧斯卡,蘭尼緊跟在后面阻攔里諾。奧斯卡來到洗鯨場,用固定鯨魚的套子套住了里諾,這位海中霸王掙扎不開,慢慢冷靜下來。
蘭尼向父親坦言,之所以選擇躲避,是因為父親一直不能接受自己吃素的事實。里諾此時才意識到自己這么多年一直不顧蘭尼的感受,強迫他去作惡,是多么的愚蠢。吃素又怎么樣?只要兒子能在自己身邊。
奧斯卡向礁鎮(zhèn)的魚兒坦誠地說出了法蘭克的真正死因,自己不是“鯊魚殺手”。而靠說謊贏得的尊重和金錢他享受起來也并不開心,還差點害死自己的好朋友安吉。
得知真相的里諾原諒了奧斯卡,礁鎮(zhèn)的居民也被他們三個的真誠打動。大家達成和解,從此鯊魚不再騷擾魚群,而是和礁鎮(zhèn)的居民們像家人一樣和睦相處。