The story begins some time in the 1940s. Xu Fugui (Ge You) is a local rich man's son and compulsive gambler, who loses his family property to a man named Long'er. His behaviour also causes his long-suffering wife Jiazhen (Gong Li) to leave him, along with their daughter, Fengxia and their unborn son, Youqing.
After he loses his entire family fortune, Fugui eventually reunites with his wife and children, but is forced to start a shadow puppet troupe with a partner named Chunsheng to support his family. The Chinese Civil War is occurring at the time, and both Fugui and Chunsheng are forcibly enlisted into the Kuomintang during a performance. After a heavy battle, Fugui and Chunsheng are captured by the forces of the Communist Party of China, where they quickly become entertainers for the troops. Eventually Fugui is able to return home and finds out that Fengxia has become dumb and lost most of her hearing due to a fever.
After the CCP's victory, Fugui attends a local public trial where the new communist authority convicts Long'er of sabotaging the revolution. Long'er recognises Fugui, and tries to break free from the executioners, but he is brought back and shot. It turns out that Long'er did not want to donate any of his wealth to the "people's government", and when they tried to pressure him to do so, they only enraged him further so that he decided to burn all of his property instead of giving it away. No one helped to extinguish the fire due to Long'er's bad reputation, and he was designated a reactionary.
The story moves forward a decade into the future, to the time of the Great Leap Forward. The local town chief enlists Fugui and Jiazhen to donate all scrap iron in their possession to the national drive to produce steel and make weaponry for invading Taiwan. As an entertainer, Fugui performs for the entire town, which has been devoted entirely to producing steel. Later, the district head, who turns out to be Chunsheng, inadvertently crushes and kills Youqing. At the gravesite of the boy, his mother leaves for him a lunchbox of 20 stale dumplings, which were intended as his lunch for school that day, plus 20 newly made dumplings. Chunsheng arrives at the grave, but his attempts to apologize and compensate the family are rebuffed.
The story moves forward again another decade, to the Cultural Revolution. The village chief advises Fugui's family to burn their shadow puppet drama props, which have been deemed as counter-revolutionary as they are traditional cultural elements. Fengxia is now grown up. Her family arranges for her to meet Wan Erxi, a local leader of the Red Guards. They fall in love and marry.
It is then revealed that Chunsheng, the district chief, has been branded a reactionary. He arrives late at night to inform Fugui and Jiazhen that his wife has committed suicide and he plans to do so also. Chunsheng wanted to give all of his money to Fugui's family as a form of his final apology and wished that they accept the money before his death. Jiazhen, who up to that point refused to talk to Chunsheng, tells him to keep living, because "you still owe us a life!"
During Fengxia's childbirth, her parents and husband accompany her to the county hospital, where they find out that nurses are in charge as all doctors have been sent to do hard labor for being "reactionary academic authorities". The nurses tell the family that both the child and mother will be fine, but the family is skeptical, and manages to retrieve a doctor from confinement to oversee the birth. As the doctor has not eaten for several days, Fugui purchases seven steamed buns (mantou) for him and the family decides to name the son Mantou, after the buns. However, Fengxia begins to hemorrhage, and the nurses panic, admitting that they do not know what to do. The family and nurses seek the advice of the doctor, but find that he has overeaten and is semiconscious. The family is helpless, and Fengxia dies from hypovolemia. The point is made that the doctor ate 7 buns, but that by drinking too much water at the same time, each bun expanded to the size of 7 buns: therefore Fengxia's death is a result of the doctor's having the equivalent of 49 buns in his belly. (1949 was the year that the Chinese Communist Party cemented its hold on modern China.)
The movie ends several years later, with the family now consisting of Fugui, Jiazhen, their son-in-law Erxi, and grandson Mantou. The family visits the graves of Youqing and Fengxia, where Jiazhen, as per tradition, leaves dumplings for her son. Erxi buys a box full of young chicks for his son, which they decide to keep in the chest formerly used for the shadow puppet props. When Mantou inquires how long it will take for the chicks to grow up, Fugui's response is a more tempered version of something he said earlier in the film, which shows that he no longer possesses the blind faith in communism he once had. However, in spite of all of his personal hardships, he expresses optimism for his grandson's future, and the film ends with his statement, "and life will get better and better" as the whole family sits down to eat.