Malin (Rano Karno) is a young boy who lives in Sumatra with his mother (Fifi Young) and sister; his father had disappeared at sea several years earlier. When a group of pirates land at the village, Malin catches the eye of their leader, Nakoda Langkap, who takes the boy as his own. As they are leaving the village, they pass the ship of another pirate, the slaverunner Nakoda Hitam. Nakoda Langkap and his men take the ship, wounding (evil pirate captain) and freeing the slaves. One, a boy named Lalang, is orphaned when his mother is killed in the battle; Nakoda Langkap takes him in as a son too.
Nakoda Langkap raises the boys to be good sailors and respect others. He also honours his promise to Malin's mother, bringing the boys back to visit her after a hundred full moons have passed. The now-adult Malin (Putu Wijaya) is pleased to see his mother, promising that he would rather turn to stone than forget her, and Malin's sister falls for Lalang. As they leave the village, they once again run across Nakoda Hitam. In the ensuing battle, Nakoda Langkap is killed and Nakoda Hitam is captured. Malin, now the leader, promises to spare Nakoda Hitam in return for the location of his buried treasure. Upon receiving the information, Malin surrenders Nakoda Hitam to the police then smiles when the pirate is hanged.
Malin turns out to be a cruel leader, drastically different than his adoptive father. While Lalang and the lieutenant look on, Malin follows one of Nakoda Hitam's men to his secret island refuge, where he kills all present – including women. Although Malin finds the treasure, including a golden throne, several of his men rise against him, including Lalang; they are banished to the sea in a small boat, eventually landing in Malin's village.
Several years later, Malin has become a rich man and is married to a Chinese princess. When they are sailing near the village, Malin's wife asks for coconut water and to stretch her legs; reluctantly they put ashore, where Malin is accosted by his mother and Lalang. When he denies that she is his mother, the villagers and Malin's men fight. As Malin and his wife escape, a storm breaks out and the ship collapses. The following morning, as Malin's mother weeps, they discover that Malin has become stone.
Malin Kundang was written by Asrul Sani, who adapted a Minang folktale of the same name. However, the film changed several aspects of the folktale, such as the ending. In the original story, Malin had turned to stone after his mother cursed him; however, Sani considered it illogical for a Muslim mother to curse her son, no matter what his sins.
Funding for the film came from Elly Yunara, the wife of the recently decease film producer Djamaluddin Malik. Her production house, Remadja Ellynda Film, produced the film. It was directed by D. Djajakusuma, who had previously had experience in adapting part of the Mahābhārata in Bimo Kroda (1967). Cinematography was handled by Kasudllah, while editing was done by Soemardjono and music was supplied by Frans Haryadi.
Rano Karno, son of the actor Sukarno M. Noor, was cast as a young Malin. He attended the audition with his friend Itang Yunasz and, displeased with the changes to the story, blurted out "That's not how the story goes." Djajakusuma was impressed and immediately cast him; it was Karno's first film role. Putu Wijaya – better known for his work in theatre – was cast as the adult Malin. Fifi Young, who had been active in film since 1940, was chosen as Malin's mother.
Malin Kundang was released in 1971. The Indonesian film critic Salim Said wrote that the first portion of the story was well-done, considering Rano Karno perfect for young Malin and the story well put together. However, he considered the choice of Wijaya to be a poor one, as the actor did not resemble Rano Karno in the slightest.