Milkweed is set in Warsaw, Poland on the eve of the Nazi occupation in 1939. The reader is introduced to the main character as he is stealing bread from a passerby. He is very small and exceedingly fast, and therefore a very talented thief. The little boy is caught by Uri, another young orphan who takes him under his wing. Uri asks the small boy his name and he replies "Stopthief". It is all he has ever known about himself. Uri introduces the unnamed little boy to other orphans: Kuba, Enos, Ferdi, Olek, Big Henryk, and Jon. They are all seeking shelter in a barn after stealing whatever food they can to survive. The little boy enjoys his time with Uri. They spend their days stealing food and feasting in the evenings while taking shelter in an abandoned barber shop. Uri cuts the little boy's hair, helps him wash, and gives him new clothes.
The little boy befriends a young Jewish girl named Janina one day. He admires her shiny, black patent leather shoes. They exchange secret presents of food and sweets. When the Nazis invade Poland and seize control of Warsaw in September 1939, the little boy looks at the "parade" through the streets in awe. He is oblivious to the danger that will follow. After the invasion, Uri decides to give the little boy a backstory and an identity. Uri tells him that his name is Misha Pilsudski and that he is a Romani boy from Russia with a father, a mother who was a fortune teller, seven brothers and five sisters, and a favorite horse named Greta. Uri explains that bombs fell on his village and he was separated from his family and that is why he became an orphan in Warsaw. Misha adores his new story and clings to it, eagerly running to tell Janina that his name is Misha Pilsudski. He tells his story to anyone who will listen.
Meanwhile, the Nazis are tightening their control around the city of Warsaw and targeting Jews. They impose a curfew, and one night while Misha is delivering stolen food to his friends, a Nazi shoots at him, cutting off his earlobe. Misha is lucky to be alive, but it doesn't deter him from continuing to take risks. Another one of Misha's friends is the head of an orphanage, Dr. Korcak (based on the real Janusz Korczak), who selflessly cares for many orphaned children. Misha helps them as well by bringing them food and coal that he steals.
In fall of 1940, all the Jews in Warsaw were ordered to be forcibly removed to a Ghetto. At the time, the Jewish community in Warsaw was the largest in Poland and in Europe, second only to New York City. 30% of Warsaw's population was Jewish. The Ghetto, however, only made up 2.4% of the area of the city at a mere 1.3 square miles. At its height, the Warsaw Ghetto forcibly imprisoned 460,000 Jewish men, women, and children. In the story, Misha, his orphan friends, Janina, her kind and soft spoken father, Mr. Milgrom, who is a pharmacist, her dear mother, and her feisty Uncle Shepsel are forced from their home and into the Ghetto. Dr. Korczak and the orphaned children are also forced into the Ghetto. Misha describes how everyone files into the Ghetto bringing whatever belongings they can carry.
The Ghetto has deplorable conditions. Nazi soldiers terrorize and beat the inhabitants in surprise midnight raids. There is very little food and people are starving and dying in the streets. The conditions are filthy and everyone is crammed into such a small space that disease spreads quickly. Every day, Misha sees new bodies covered in newspapers. Adults are forced to work doing hard labor. Janina's mother becomes ill and eventually passes away. Yet, through it all, Misha remains innocently resilient. He sneaks out every night in search of food and smuggles it back to Janina and her family. He also delivers food to the orphans and Dr. Korczak.
Smuggling is extremely dangerous. One tragic day, Misha sees young Olek hung with a sign around his neck declaring that he was killed because he was a smuggler. And, yet, without the food that Misha steals by sneaking in and out of a hole in the Ghetto wall "two bricks wide", they would surely starve. Mr. Milgrom "adopts" Misha into the family and treats him like a son. Janina and Misha are also very close and do everything together. Misha describes how she acts like his little sister, mimicking everything he does, even smuggling. Janina joins Misha on his dangerous nightly excursions as she, too, is small enough to sneak through the hole. One day, Janina and Misha are playing in the Ghetto when they spy something growing in the rubble. It is milkweed, white and soft and wispy. Janina believes it must be an angel. It gives them a sense of hope that a plant can grow in the destroyed rubble of the Ghetto, that somehow, life perseveres.
After living in the destitute and wretched conditions of the Ghetto for about a year and a half, Misha's friend Uri comes to warn him that he must escape. Uri says that when Misha sneaks out to smuggle at night, he must run and keep running. Uri has heard that deportations are coming. The Nazis tell the Jewish inhabitants of the Ghetto that they are being moved to the countryside, where they can have their own community, their own farms. This is a lie. The deportations are to take the Jews to concentration camps that are mass killing centers. Uri warns Misha to leave and then disappears. When Misha tells Mr. Milgrom this news, Mr. Milgrom tells Misha and Janina to escape. He instructs them both to do as Uri says and when they sneak out at night, to run and keep running. He believes this is their only chance at survival. However, Janina can't do it. At seven years old, she is too young to fully comprehend and cannot leave her father. Despite Misha trying to drag Janina away, she runs to where her father is being taken onto a train to the death camps. Misha tries to stop Janina but she is thrown into a boxcar by a Nazi. Suddenly, Uri appears as an undercover Nazi and pretends to shoot Misha dead in order to save him. Uri has secretly been working as a double agent, pretending to be a Nazi to gain information, while also working with the resistance that would attempt the "Warsaw Uprising". Uri's bullet took the rest of Misha's ear off and he fell unconscious, seemingly dead.
Misha awakes in the rubble of the train track. Confused, he tries to walk to the "ovens", the death camps where Janina, her father and all the others have been taken. All he desires is to get back to them. However, he is found by a Polish farmer who brings him to his farm and hides him for his safety. The farmer and his wife keep Misha hidden for three years until the end of the war. When the war ends, Misha has nowhere to go. He resorts to the only occupation he's ever known and begins stealing again, this time selling his wares on a little cart in the countryside.
Eventually, Misha manages to immigrate to America. When he arrives, he presents himself to the immigration agent as Misha Milgrom. The agent promptly changes his name to Jack. So, Misha becomes Jack Milgrom. In America, Jack finds work as a salesman, although he says he is not very good. He can't help but talk in long-winded rants about all his traumatic experiences from the war. He explains that "the important thing was not that you listened, but that I talked. I can see that now. I was born into craziness. When the whole world turned crazy, I was ready for it. That's how I survived. And when the craziness was over, where did that leave me? On the street corner, that's where, running my mouth, spilling myself. And I needed you there. You were the bottle I poured myself into."
One day, Jack meets a woman named Vivian who is willing to listen to his stories. They marry and she becomes pregnant. But Vivian leaves Jack unable to cope with his difficulties and eccentricities caused by post traumatic stress from the war. Many years later, Jack is working in a grocery store stocking shelves when a woman walks over to him. She tells Jack that she is Katherine, his daughter, and she introduces him to his young granddaughter, Wendy. Katherine says that she has been waiting to meet her father so that he may give Wendy her middle name. Without hesitating, Jack gives her the name "Janina". Katherine invites Jack to live with them and he gratefully agrees. Wendy excitedly calls her new grandfather, "Poppynoodle".
At the end of the story, Jack plants milkweed in their yard. He tells them it is an "angel plant". While holding Wendy Janina in his lap, he reflects on all the names he has been given throughout his life: "Call me thief. Call me stupid. Call me Gypsy. Call me Jew. Call me one-eared Jack. I don't care. Empty handed victims once told me who I was. Then Uri told me. Then an armband. Then an immigration officer. And now, this little girl in my lap, this little girl whose call silences the trampling Jackboots. Her voice will be the last. I was. Now I am. I am ... Poppynoodle."