On the train to Canning, Kanai, a wealthy translator from New Delhi, meets Piya, a young cetologist (a biologist who specializes in marine mammals). They're both headed to the Sundarbans: Kanai is going to the island of Lusibari for the first time in thirty years to deal with a long-lost packet of his late uncle Nirmal's writings, while Piya plans to conduct a survey of the Gangetic and Irrawaddy river dolphins that live in the area. Before they get off at Canning, Kanai invites Piya to come visit Lusibari. Kanai meets up with his aunt Nilima in Canning and discovers that Nilima is still very disturbed by Nirmal's death, which happened twenty years ago.
Once on Lusibari, Kanai explores the landmarks he remembers and thinks back to when Nirmal told him about Sir Daniel Hamilton, who successfully set up a cooperative society on the islands in the first part of the twentieth century. He's shocked to learn that Kusum, who was a friend when Kanai was on the island in 1970, died long ago. Her son Fokir, however, now lives on the island and is married to one of the nurse trainees, Moyna. Upstairs in Nirmal's study, Kanai opens the packet. It contains only a notebook that appears to have been filled over the course of a few days in May 1979, on the island of Morichjhãpi. In a letter addressed to Kanai, Nirmal explains that he's with Kusum on the island and simply wants to make sure that what happens isn't forgotten. Nilima is upset that Nirmal didn't leave the notebook for her.
When Kanai met Kusum in 1970, she was in Nilima's care after Kusum's father died, and Kusum's mother was sold into sexual slavery. Kusum and Kanai had become friends and had gone to performances of the local legend The Glory of Bon Bibi together. Kanai had found the story, which is about a boy named Dukhey who is saved by the goddess Bon Bibi after being sacrificed to the demon Dokkhin Rai, very affecting. After the performance one night, a fisherman named Horen took Kusum away for her safety, and nobody saw her again for years.
Piya obtains her permits from the Forest Department and begins her survey with a forest guard and a boat pilot named Mejda—both men are unhelpful and condescending. Piya spots a fishing boat and asks them to approach it so she can ask the fisherman about the dolphins. The forest guard does as she asks, but Piya soon realizes the guard just wants to fine and intimidate the fisherman and his son. The fisherman mimes to Piya that he sees dolphins in the area often. As the Forest Department boat pulls away, Piya tries to give the fisherman money and falls into the river. The fisherman saves her and pulls her into his boat, and Piya, afraid of going back with the Forest Department, asks if he'll take her to Lusibari. He agrees, and the forest guard lets Piya go. The fisherman introduces himself as Fokir and his young son as Tutul. He treats Piya with exceptional kindness and respect and the next day, he takes her to a place called Garjontola where a pod of seven Irrawaddy dolphins are swimming. Piya is shocked, as the dolphins don't behave as they're supposed to—she believes the dolphins migrate daily out of the pool instead of twice a year. She spends the next day with Fokir, observing the dolphins and mapping the riverbed. Piya is pleasantly surprised that she and Fokir can communicate so well, and their pursuits are well-matched: mapping the riverbed by rowing in straight lines gives Fokir the opportunity to fish for crabs. After Piya almost loses a hand to a crocodile, she and Fokir row for Lusibari. Once there, Nilima invites Piya to stay in the guesthouse with Kanai, and Kanai agrees to help Piya talk to Fokir the next day.
Over the course of the next several days, Kanai reads Nirmal's notebook. It tells the story of how Nirmal became involved with the settlement on Morichjhãpi after he retired from teaching. In his youth, Nirmal was a renowned Marxist in Calcutta, but he had to leave the city after he was arrested and suffered a mental breakdown. He spent 30 years teaching on Lusibari, and during that time, he wrote nothing. However, he remained a firm believer in Marxist theory, much to Nilima's chagrin—she spent those years developing the Babadon Trust, which provided healthcare and other services to the locals. She also developed a Women's Union to help the many widows on Lusibari, as it's common for men to die while out fishing.
After his retirement, Nirmal began visiting schools with the help of Horen. One evening, Horen and Nirmal were caught in a storm and ended up meeting Kusum on the island of Morichjhãpi. She took them in and told them her story of finding her mother, getting married, having her son, and finally, joining a refugee march from central India all the way to the Sundarbans. Nirmal was thrilled to learn that Morichjhãpi was being developed in a very Marxist way, and he offered to teach the children there. When Nilima found out, she was incensed that Nirmal was involved—she insisted that the refugees were just squatters, and the land was protected forestland. She refused to provide medical services to the island. Nirmal vowed to keep his involvement secret and continued to go to Morichjhãpi with Horen over the next several months. The police began a siege on the island, which Kusum and Fokir survived, but Kusum was distraught that people wanted to kill the settlers for the sake of animals. Finally, Nirmal heard that the police were going to assault the island. He went with Horen to warn Kusum, and while they were there overnight, he filled the notebook. He decided to stay on the island while Horen took Fokir away, and saved the notebook for Kanai. Weeks later, Nilima found Nirmal in Canning, disoriented and angry. He died months later.
Piya and Kanai negotiate with Fokir and Moyna to go out for a week to survey the dolphins at Garjontola. Fokir helps Piya engage Horen to take them in his bhotbhoti, the Megha. Piya is annoyed to discover that Moyna seems to think little of her husband. As Piya makes preparations to leave, Kanai asks to go with her as a translator; Piya accepts. When Kanai tells Nilima he's going with Piya, she's concerned and feels he doesn't understand the risks. She explains that tigers kill multiple people every week. When she realizes he's romantically interested in Piya, she insists he's a predator too and tells him to be careful. Later that night, Moyna confides in Kanai that she's worried about a romantic relationship between Piya and Fokir, and she asks Kanai to intervene. Kanai tries to convince Moyna that he'd be a better partner than Fokir, which angers her. The next day, the survey party leaves Lusibari. Kanai becomes very jealous when Piya mentions that she loves working with Fokir despite the language barrier. That afternoon, the Megha's engine dies, though Horen is able to float the bhotbhoti to a village where a relative can help fix the boat.
Early that evening, Piya and Kanai hear the sound of a water buffalo giving birth. Later, they hear excited voices on the nearby island, so they go with Horen and Fokir to investigate. They discover that a tiger that previously killed two people got into the building with the water buffalo. Angry villagers surround the structure, poking bamboo poles inside. Piya is incensed and tries to break up the mob, but Fokir pulls her away just as the villagers light the structure on fire to burn the tiger alive. The next day, Piya and Kanai discuss what happened. Piya is horrified, but Kanai insists that things like that happen because environmentalists like Piya try to save tigers at the expense of the people who also share the habitat. He explains that the government doesn't care about the poor people who are the most common victims.
The next day, Piya and Kanai go out with Fokir to observe the dolphins in the Garjontola pool. Piya explains how she became interested in the dolphins, and Kanai translates that Fokir knows of this dolphin pool because Kusum talked about it. He comes here to visit her spirit. He starts to chant, but Kanai insists the chant is too difficult to translate for Piya. Over the next several hours, Piya and Kanai draw closer to each other, and Kanai agrees the next morning to go out in Fokir's boat to help observe the dolphins. On Fokir's boat, Kanai tries to talk to Fokir with little success. Eventually, Fokir rows to Garjontola and points out fresh tiger tracks. He explains that the island is protected by Bon Bibi, and the goddess will protect anyone who is good of heart. He suggests they go ashore to see if Kanai is good of heart, and Kanai reluctantly agrees. Once they reach the shore, Kanai falls in the mud and loses his temper, sending Fokir away. Suddenly terrified, Kanai crashes inland to get away from the crocodiles he knows are in the water. He finds a tiger in a clearing, backs out, and is rescued by Piya, Fokir and Horen, all of whom don't believe he saw a tiger. After this, Kanai decides to return to Lusibari.
The next morning, Kanai leaves Piya and Fokir on Fokir's boat with a packet for Piya, while Horen takes him to Lusibari on the Megha. When the Megha reaches a major waterway, they learn that a cyclone is coming and decide to turn around to fetch Piya and Fokir. The boat isn't there when they return to Garjontola, so they decide to wait overnight for them. Meanwhile, Piya and Fokir spend their day tracking the dolphins and finally find them circling a calf that died. They drop anchor that night far away from Garjontola, and Piya reads Kanai's letter. It's a translation of The Glory of Bon Bibi, which is what Fokir was chanting the day before.
Early the next morning, Horen admits to Kanai that both he and Nirmal were in love with Kusum, but says that Kusum chose him in the end. They decide hours later that they can't wait for Piya and Fokir, so they head back to Lusibari through the gathering storm. When Kanai wades to shore, he falls and loses Nirmal's notebook in the rushing water. As Kanai and Nilima ride out the storm in the guesthouse, she admits that Nirmal's one lasting contribution was the cyclone shelter in the hospital. Kanai says he'd like to transcribe Nirmal's story from memory, and Nilima asks if he'd record her side of the story too.
Fokir and Piya ride out the storm tied to a tree on Garjontola, straddling a branch with Piya squeezed between Fokir and the trunk. After the eye of the storm passes and the wind changes direction, they see a tiger. Fokir dies not long after when he's hit and crushed by something large. Piya manages to take his boat in the direction of Lusibari the next day, and explains what happened to Kanai and Horen when she finds them coming to get her on the Megha. She remains in Lusibari for a few weeks and then returns a month later, much to Nilima's surprise. Piya explains she'd like to work with the Babadon Trust to develop a conservation program in the area that would work with local fishermen, and she'd like to name the program after Fokir.