Di sebuah lembah subur di utara Pulau Sumatra, hiduplah seorang petani muda bernama Toba. Ia bekerja keras menggarap ladangnya, dan bila senggang ia memancing di sungai yang jernih di dekat pondoknya.
Suatu pagi, kailnya disambar seekor ikan mas yang sangat besar. Sisiknya berkilau keemasan diterpa matahari. Toba membawanya pulang dengan gembira, membayangkan makan besar malam itu. Namun ketika ia hendak menyiangnya, ikan itu tiba-tiba berbicara.
"Jangan bunuh aku," pintanya. "Biarkan aku hidup, dan aku akan membalas kebaikanmu."
Toba terperanjat, tetapi hatinya luluh. Ia menaruh ikan itu di dalam tempayan berisi air. Keesokan harinya, ketika ia pulang dari ladang, ikan itu telah menjelma menjadi seorang perempuan cantik. Perempuan itu bersedia menjadi istrinya dengan satu syarat: Toba tidak boleh sekali pun mengungkit asal-usulnya sebagai ikan. Toba bersumpah akan menjaga rahasia itu.
Mereka menikah dan hidup bahagia. Tak lama kemudian lahirlah seorang anak laki-laki yang mereka beri nama Samosir. Anak itu tumbuh sehat, tetapi nafsu makannya luar biasa besar dan ia agak malas membantu orang tuanya.
Setiap siang, sang ibu menyuruh Samosir mengantarkan nasi untuk ayahnya di ladang. Suatu hari, di tengah perjalanan, Samosir merasa sangat lapar dan memakan sebagian besar bekal itu. Yang sampai ke tangan ayahnya hanya sisa nasi dan tulang ikan.
Toba yang lelah dan lapar setelah bekerja sejak subuh tak dapat menahan amarah. "Dasar anak ikan!" bentaknya. "Tak tahu diuntung!"
Kata-kata itu meluncur begitu saja, dan tak dapat ditarik kembali. Samosir berlari pulang sambil menangis dan mengadukan hinaan ayahnya kepada ibunya. Wajah sang ibu memucat. Sumpah telah dilanggar.
"Pergilah ke bukit yang paling tinggi, Nak," katanya lembut sambil memeluk anaknya. "Panjatlah pohon yang paling tinggi di sana, dan jangan turun apa pun yang terjadi."
Samosir menurut. Begitu anak itu pergi, sang ibu melangkah ke sungai. Langit menggelap. Hujan turun sangat deras, dan dari tanah memancar air yang tak kunjung berhenti. Lembah itu perlahan tenggelam, menjadi sebuah danau yang luas dan dalam. Perempuan itu kembali menjadi ikan dan menghilang ke dalam air.
Danau itulah yang kini disebut Danau Toba, dan bukit tempat Samosir berlindung menjadi pulau di tengahnya, Pulau Samosir. Konon, orang Batak menuturkan kisah ini sebagai pengingat bahwa janji adalah hutang, dan kata-kata yang diucapkan dalam amarah dapat melukai lebih dalam daripada senjata apa pun.