Since none of the characters have names, I'll identify them by the actor's first name.

The film begins in an unnamed city at a busy intersection. When the lights go green, all the cars move ahead. One of the cars suddenly stops. People on the sidewalk wonder what is going on and walk over to the stopped car. The driver (Yusuke Iseya) claims that he is blind. He just wants to go home to be with his wife. A man (Don McKellar) volunteers to drive him home. The people move Yusuke to the passenger’s seat, and Don gets behind the wheel. As Don drives, Yusuke says that all he can see is white. Don says that’s strange, since blind people can only see darkness. He drives to Yusuke’s apartment complex and tells him to get out of the car. Once he’s out, Don drives off. Yusuke panics and he almost gets hit by a car while standing in the middle of the street. Turns out Don just went to park the car, and he comes to guide Yusuke into his apartment. While waiting for the elevator, Don makes faces at Yusuke and realizes that he’s really blind. He goes into Yusuke’s apartment and immediately starts to walk around. Yusuke calls out for his wife, but she’s not home yet. Growing uncomfortable, he makes Don leave the apartment. Later on, his wife (Yoshino Kimura) comes home and finds that he has knocked over a vase. Yusuke tells her that he can’t see, and she starts to look up eye specialists. Yusuke wants to go to the hospital, but Yoshino knows that they’ll just wind up waiting for hours without help. They drive off to see an eye specialist in Yoshino’s car, since Don wound up stealing Yusuke’s car.

Yusuke and Yoshino wait in the specialist’s lounge area with various other people  a man with an eye patch (Danny Glover), a woman with dark glasses (Alice Braga), and a woman with her son (Mitchell Nye). The receptionist (Susan Coyne) lets Yusuke come in first, which doesn’t make the mother happy since they were waiting longer than him. The doctor (Mark Ruffalo) runs some tests, and is baffled by Yusuke’s sudden blindness. There’s not much he can do for him, and so he tells Yoshino to take him to the hospital with his written notes for the next doctor who sees him. Elsewhere, Don gets nervous when he sees a police car ordering him to stop. He speeds down a dark street and abandons the car. Before he can run away, he is suddenly struck blind. Mark sees Mitchell and gives him a piece of candy afterwards. He then sees Alice and gives her some eye drops. She wants to keep wearing her sunglasses, and so Mark writes down in her prescription that she should wear the sunglasses constantly. Mark leaves his office and talks to a friend of his about Yusuke’s bizarre case. He goes home, where his wife (Julianne Moore) cooks dinner for them. He tells Julianne about Yusuke, and they eat dinner. Before going to bed, Mark tells Julianne to set the alarm clock half an hour early, so that he can make some calls in the morning. Elsewhere, Alice goes to a pharmacy to get her prescription filled. The assistant (Mpho Koaho) asks her why she’s wearing her sunglasses at night. Alice insults him and takes her prescription. She goes to a bar, and the bartender (Gael Garcia Bernal) says that she’s just in time to get one last drink. It turns out that Alice is a prostitute, and we see her meeting a man at a hotel. She has sex with her glasses on, and afterwards she tells the client that he was good, since all she can see is white. Elsewhere, a cop escorts Don to his apartment, but his wife refuses to let him in. Back at the hotel, the client throws Alice out of his room and runs off because she’s freaking out. A couple of hotel workers see Alice naked on the floor and help her into an elevator.

The next morning, Julianne wakes up and makes coffee. Mark wakes up and realizes that he can’t see. He thinks that he somehow got infected by Yusuke, and then he gets upset when Julianne touches him, since it might be contagious. Julianne calms him down and sits him down. After waiting to see if his sight comes back, Mark decides to go to the hospital. We see more and more people suddenly becoming blind all over the city, and the minister of health (Sandra Oh) is made aware of the situation. While working at Mark’s office, Susan is talking on the phone when two men in suits walk in and hang her up. They order her to shut down Mark’s office and to give them some files. An ambulance arrives for Mark. Julianne packs a roller backpack of his clothes for his stay, and walks with him outside. She sees men covered head-to-toe in white suits waiting outside. They take Mark’s cell phone away and put him in the ambulance. Julianne doesn’t feel comfortable letting Mark go by himself, and so she sits down in the ambulance. One of the suits tells her that the vehicle is for infected only. She says that she’s blind as well. The suit knows that she’s lying, but he doesn’t want to waste time arguing with her. He lets her stay, and they drive off. Next, we see Julianne and Mark at an empty hospital. A video is played on the TVs, which state that the ministry of health has decided to quarantine all those infected with the white sickness (aka blindness). Julianne and Mark are the only ones in the entire building. Mark says that it’s stupid for a video to be playing for the blind. Julianne has Mark promise not to tell anyone that she can still see.

Yusuke, Alice, Mitchell, and Don are brought to the building. Julianne lets them know that they are there. She says that they are in ward 1, and there are two more wards further into the building. They chose to stay in ward 1 because it’s closest to the door, so they will be first to get food. All the wards are lined up with beds, and so the new arrivals get settled in. Yusuke and Don realize that they are both there together and start to fight (Yusuke gets after Don for stealing his car, and Don yells at Yusuke for stealing his sight). Julianne guides Mark over to them to break up the fight. Don doesn’t like Mark ordering them around, but Mark says that they’re acting like children. Julianne leads the group around the building so that they will become familiarized with it. Mitchell needs to pee, so she leads them towards the bathroom. Everyone holds onto the person in front of them, and Don keeps on groping Alice’s breasts. Fed up, she stomps on his leg, hurting it badly. Julianne and Mark take Don away to clean up his wound, causing Mitchell to wet his pants (since Julianne told them to stay put). Julianne ties Don’s shirt around his wound to stop the bleeding. The video says that there is an emergency phone in each ward, but when Julianne uses it, she can’t get through to anyone. At one point, Julianne and Mark hear soldiers in the building. They rush to the front door and try to tell the soldiers that they have a wounded man inside. The soldiers become afraid and force them back to their ward, threatening to shoot them if they come closer. Slowly but surely, more vans of infected people arrive at the building. When they arrive, they all struggle to find their way inside. Since ward 1 is closest to the front door, more people come in and select their beds. Mark has everyone introduce themselves and count (so that they have an idea of how many people there are). Susan winds up in ward 1, and Julianne recognizes her. Yoshino also shows up, and Yusuke is happy to be reunited with her. Mpho also arrives with the others and stays in ward 1. Julianne leads the newcomers around the building.

The more people that show up, the dirtier the building becomes. The hallways become filled with trash, some men & women don’t even clothe themselves anymore, and everyone steps in crap upon entering the bathroom. Mark has become the leader figure of ward 1, and he welcomes the newcomers. He and Julianne have tied different strings throughout the building so that it can be easier to navigate their way through (the strings lead to the other wards, the bathroom, e.t.c…). They find food, and they do their best to share with everyone else. Julianne becomes disappointed with the poor living conditions and the trash everywhere. While in the bathroom, she hears a radio. She finds Danny by himself in a corner. She leads him to ward 1, and he tells everyone that he’s been listening to all the news reports since the white sickness has happened. A bus driver got infected and crashed, killing 23 people. Two pilots got infected and crashed their planes, killing everyone onboard. The streets are chaos. The ministry of health tried to work out how to deal with the problem, but then they panicked once one of their own got infected during a meeting. Shortly afterwards, the minister of health was infected as well. All those found infected were treated with aggression by soldiers, who force them into buses and send them to be quarantined. Danny plays some music, and it makes everyone happy. Soon, more buses arrive at the building and the infected are forced to find their way from the courtyard to the building. One infected man tries to call out for help and wanders away from everyone else. He gets close to the gate, causing a soldier to get afraid of him. He tells him to get back in line with everyone else, but the man is obviously lost. The soldier shoots the man to death, and fires at other people. The infected panic and flee inside, trampling over others.

Later on, the soldiers throw down a shovel into the main courtyard. Julianne comes outside and pretends to be blind. The soldiers tell her where to go to find the shovel. She follows their orders, but it becomes apparent that they are having fun with her (ordering her away from the shovel). Fed up, Julianne grabs the shovel and gives them the middle finger. One of the soldiers is startled, but the others tell him to brush it off. Mark, Mpho, and Mitchell make their way to ward 3. Mark says that each ward should appoint a leader, and then they should make a committee to figure out how to ration their food (which becomes less with more people coming in). He also says that since three people were killed in the courtyard the previous night, one person from each ward should help bury the bodies. Gael doesn’t like Mark bossing them around. He says that ward 3 will be its own monarch, and he appoints himself king. He says that they’ll eat whenever they want and they don’t have to listen to Mark or anyone else. At night, Julianne has Mark take off his clothes before going to bed since they’re filthy. She sits down next to Don’s bed, and he thanks her for treating his wound. Suddenly, he grabs her shirt and tells her that he knows she can still see. She pulls herself away while Susan overhears. Don stumbles his way into the hallway and goes outside. He calls out for the guards to help treat his leg wound, but they don’t hear him due to loud music. Eventually, one of the soldiers hears something and goes to investigate. He gets startled by Don and shoots him to death with his pistol. The next day, Julianne and a group from ward 1 bury the dead bodies.

Soon, Gael and an accountant who was born blind (Maury Chaykin) find the control room of the building. Gael turns off the video and talks over the intercom. He says that ward 3 has hereby taken control of the building, and their rules will be followed. Gael then sings over the intercom, annoying everyone else. When the next shipment of food arrives, Gael has his men take control of it. People from the other wards fight over the food and Gael fires a pistol into the air. He says that if they don’t settle down, he’ll fire all around him until he hits someone. He says that if the other wards want food, they’ll have to pay for it. Julianne says that he knows they don’t have money, and so he tells everyone to bring them whatever valuables they have. They will then judge if they deserve food or not. Julianne keeps on mouthing off, and she sees Gael pointing the gun near her. She guides Mark behind a pillar, and Gael says that he won’t forget her voice. She retorts that she won’t forget his face. Gael laughs it off, and he has his men bring the food to ward 3. The people of ward 1 can’t believe that Gael is forcing them to pay for food. They are all starving to death, and so they have no choice but to follow his orders. Julianne carries a pillow case around the ward and tells everyone to put what they can into the bag. People give up necklaces, watches, earrings, rings, e.t.c… Susan hides a lighter underneath her bed. The people of ward 2 bring their valuables to ward 3, and Maury determines how valuable each possession is by feeling it. Gael gives them three boxes of food. Mark and Mpho arrive with ward 1’s bag of possessions. After Maury sorts through them, Gael only gives them two boxes of food. When Mark complains, Gael recognizes his voice and shoves his pistol into his throat, threatening to kill him if he doesn’t go away. Mark and Mpho bring the boxes back to ward 1, and everyone is forced to share the little food that they have.

Julianne tries to feed Mark, but he has become increasingly agitated with her. Since she takes care of him and everyone else, he no longer thinks of her as his wife, but as a mother. Mark sits and broods by himself. Everyone else eventually leaves, except for Alice. She walks over to him, and Mark says that he should’ve taken the gun and killed Gael. She says that if he did that, it would’ve started a war. Mark agrees, and says that he’s just become fed up with everything that’s happened. They hold each other to comfort one another. Desperate, Mark and Alice have sex on a table. After they are done, Julianne makes herself noticed in the room. Mark and Alice feel ashamed for what they just did, but Julianne says that she understands. She then tells Alice that she still has her sight, and makes her promise not to tell anyone else. As time passes, there are no more valuables to hand over for food. Gael announces that now if the other wards want food, they’ll have to send their women to pleasure the men of ward 3. The people of ward 1 argue over whether or not they should give in. Some of the men would rather try to take the food by force, but Mark points out that Gael has the advantage with the gun. Mpho asks if any women want to volunteer, since they will not force them to obey. Nine women (including Julianne, Alice, and Yoshino) agree to do it. They walk over to ward 3, and the men immediately grab them. Gael feels up each woman to see which one he wants first. He settles with Julianne, and when she talks he recognizes her voice. He forces her at gunpoint to suck his penis, and the other guys rape the women. One of the men complains that his woman is acting like a dead fish, and so he viciously beats her while raping her. The women carry the beaten woman back to ward 1, and Julianne tells Mark to go collect the food. The woman has been beaten to death, and the others wash her body.

The next day, Maury and a henchman go to ward 2 and request women for food. They get six women, and Maury stops by ward 1. He tells Julianne not to worry, since the women of ward 1 will get their turn again soon enough. Julianne tells him that one of them was killed during last time, which makes Maury grow silent. Having had enough of the abuse, Julianne grabs a pair of scissors (which she found earlier) and walks down the hallway to ward 3. She sees in the shadows all the women from ward 2 being raped, and then she finds Gael. He’s forcing another woman to give him fellatio, and then Maury realizes that Julianne is in their ward. Julianne stands behind Gael and stabs him in the neck with the scissors, killing him. She then rounds up all the women to escape. Maury realizes that Julianne has killed Gael, and so he tries to shoot her with the gun. He only winds up killing some of the men from ward 3. Julianne saves all the women and returns to ward 1. Soon, everyone finds out about Gael’s death. Mark realizes that ward 3 will want revenge, and some of the men want to hand over the killer so the rest don’t have to suffer. Mark, Danny, Mpho, and Yusuke decide to band together to fight for the food. Whoever wants to join them can do so, and the others can stay behind. Julianne also reveals to everyone that she can still see. Susan sneaks out of ward 1 with her lighter and makes her way down the hall. Julianne has the guys break the legs off of tables and chairs so that they can use them as weapons. She gathers up all those who want to fight and starts to slowly lead them down the hall. Susan sneaks to the entrance of ward 3, where Maury and another man are guarding the door. Maury realizes too late that someone else is there. Susan uses the lighter to start a fire, and it spreads throughout ward 3.

Julianne and the others smell the smoke, and decide to evacuate. She leads the people of ward 1 outside and goes back to get the others. The people of ward 3 are set on fire and burned alive. Maury, not wanting to get burned, shoots himself in the head instead. Julianne successfully leads everyone outside to safety. She yells out for the guards to help them, but no one answers. She opens the gate and walks outside. She yells back that they are free (all the guards are gone). All the blind people break off into groups and travel outside. Julianne leads Mark, Danny, Yusuke, Yoshino, Alice, Mitchell, and Mpho. The streets are filled with trash and wrecked cars. A naked man walks on a highway, unsure where to go. Others yell out to seek a group to follow. While traveling, Mpho gets separated from the others and gets lost. Julianne leads everyone to a building and another group tries to enter, but she yells them off. She tells Mark that she’s going to search for food, and he should stay behind to guard their building. Mark instead decides to go with her. An elderly couple managed to get a shopping cart of food, but a group of kids steal it from them. Julianne and Mark go to a grocery store. Julianne has Mark stay outside and wait for her. She goes inside and sees various people trying to find food. The floor is filled with trash and rotting food. Since she’s the only one that can see, Julianne goes into the basement of the store while everyone fumbles around upstairs. She finds a box of matches and uses them to see. There’s plenty of food down there, and she fills four bags. Julianne tries to sneak outside the store, but the blind people realize that she’s found food. They feverously attack her, desperate for food. Mark helps fight them off, and they lose two bags.

Julianne decides to sit down and rest for a while. Mark goes back to the store, since he found clothes for everyone and wants to get it before someone steals it. As Julianne looks around, she sees a group of dogs eating a dead man. One dog walks over to her and licks her face. She kisses it back, and then it starts to rain. She goes inside a church and sees that all of the statues have pieces of cloth wrapped around the eyes. She then goes back outside and enjoys the rain, along with all the blind people. A couple of people get naked and wash themselves in the rain. Mark comes back with jackets for their group. Since it’s raining, their group goes inside a building to eat. Alice says that they’re lucky to be guided by someone who can see, and says that Julianne should decide what they’re going to do next. She says that they’re going to spend the night, and the next day they can make their way to her home, since it’s big enough for everyone. The next day, she guides everyone to her home, and even the dog that licked her comes along. Julianne has everyone take off their clothes, since they’re all so dirty (and they can use her and Mark’s clothes). Julianne, Alice, and Yoshino shower together on the balcony while it rains. Afterwards, Alice runs warm water over Danny. While sitting around a fire, Alice says that she hopes they’ll find Mitchell’s parents, and then asks Danny what he hopes for. Danny says that he hopes they can all live together forever. The blindness was the best thing that happened to him (he didn’t have anyone before it happened). Alice then asks him if he would rather live with everyone or just live with her. He thinks that they’re alone, and so he says that he wants to live with her. It turns out that everyone else was sitting around the fire.

The next morning, everyone wakes up. Julianne offers to make coffee, which Mark and Yusuke accept. When Julianne pours Yusuke a cup, he suddenly gets his vision back. He sees her for the first time, and then he grows ecstatic. He tells everyone that he can see again. Everyone seems happy for him and they remain hopeful that their vision will come back as well. The only one who isn’t happy is Danny, probably because he’s afraid of being alone again when everyone’s sight comes back. Julianne goes outside on the balcony and looks up at the sky. For a moment, she becomes scared that she’s gone blind, but then she looks down and sees the city.