The movie opens to a family of 4 nervously trying to cross the border from US into Canada. The father, Johnny (Paddy Considine) tells his two young daughters to remember to say 'we are on holiday'. The INS officials are suspicious, so Christy (Sarah Bolger), the oldest daughter prays to her deceased brother, Frankie. Apparently he will grant her 3 wishes and this situation calls for a favor. So she asks him to get them across the border. Then the officials wave them through.
Soon they are driving through New York excited about the lights and seeing Times Square. Christy is filming everything on her little red camcorder. (A constant companion through the film). The family pulls up to an apartment which is filled with druggies and junkies. They are on the top floor and there is no elevator, so they have to take stairs. The apartment is run down and there are a lot of pigeons which they let out through a skylight. The apartment is large and they fix it up with paint and new furniture. The family has fun as the girls skate on rollerblades throughout the apartment.
Meanwhile, there is another apartment that says 'keep away' on the door. Inside is a large African man in a rage. He is an artist surrounded by canvas and paintings. In his fury he starts slashing one of his paintings with a knife. The screen shows dripping blood and we see a hand making a bloody handprint on a canvas.
Soon it is summer and the family is very hot; they are not used to the New York heat. Johnny goes to get an air conditioner but he is pulling it on a little set of wheels and can't get it up the curb. So he angrily pulls it down the middle of the street in opposing traffic. He finally gets it home, carries it up all the stairs, slams it down on the window ledge and then screams in frustration to see that it has a three pronged plug and the outlet only has two prongs.
He goes to a convenience store to try to buy a plug. He is 25 cents short. The guy won't cut him a break so he returns some bottles to get 25 cents and then buys the plug. He grafts the new plug on the air conditioner and the family is extremely relieved as the cool air starts flowing. After 2 minutes of cool, the power in the entire building blows.
All the people in the building start yelling at them and the family decides to run out and find refuge in the air conditioning of the movie theater. In the theater they see ET and the youngest daughter Ariel, (Emma Bolger) is especially moved by the scene where ET is flying across the moon and 'going home'. (Important later).
On the way home the family walks through a carnival and pass a ball throwing game that awards ET dolls as prizes. Ariel asks her father to win her one. The attendant explains that to win the doll you need to get 7 balls in the bucket. Plus if you double your money every time you buy balls, you win all your money back too. Johnny thinks this sounds easy and plunks down 2 dollars to get 3 balls. He gets 2 in. Then the next 3 balls cost 4 dollars. He gets one in. Then next 3 balls cost 8 dollars and so forth. Finally he needs to get two more balls in and the cost is now $128. The family is getting nervous and the daughter says 'forget it'. A big crowd is gathering and Johnny is getting nervous. He gets one in but otherwise keeps missing. They finally put all their rent money on the table and he only has one more shot. (Very tense!).
In desperation Christy prays to Frankie to make the ball go in. The balls makes it in the basket and the family is elated.
The family goes home and the parents are so excited that they send the kids to the ice cream shop. Then Johnny and Sarah (the mom, Samantha Morton) have passionate sex. At the same time there is a severe thunderstorm. A narrator tells us that a baby is conceived.
In the fall the kids go to catholic school. To support themselves the Sarah works in an ice cream shop and Johnny drives a taxi. Johnny goes to a lot of auditions as he is trying to strike is big as an actor. He can get the accents perfect, but the director says his acting needs to come from his gut; it's missing feeling.
Soon it is Halloween and Sarah is making homemade costumes for the kid. Ariel is an angel, and Christy is dressed up to represent Autumn. Their parents escort them to the school costume party and as they walk in everyone stops and stares at them. The family is puzzled why everyone is staring and Christy says it's because their costumes are homemade. The kids know they are different (and poor) and Christy hates it.
The kids demand to be able to go trick or treating. But the parents don't really understand what it is so they tell the girls they can trick or treat in their building only. The kids bang on door after door and no one answers. Finally, in desperation they start yelling and banging at the door that says 'Keep Away'. We see the occupant in his darkroom developing pictures and he yells angrily 'GO AWAY'. But the kids are excited that someone is there so they and pound even harder. He finally yanks the door open in anger.
He lets them in and it very nice to the little girls. He looks around for something to give them and opens his fridge. We get a brief glimpse of lots of medicine bottles in the fridge. He finally gives them a glass bottle filled with change. To reciprocate for his kindness, the parents invite him over for dinner. We learn that his name is Mateo (Djimon Hounsou).
Mateo becomes a family friend and starts hanging out the mom and 2 kids. He helps them paint a mural of angels in the girls bedroom. Sarah visits Mateo in his apartment and looks at some pictures. In the pictures, Mateo is with family in a wealthy setting and Sarah says with surprise 'Oh, you are rich!'. Meanwhile, Johnny is getting jealous at all the time Mateo is spending with his family.
Johnny and Sarah go to the doctor about her pregnancy and he says they shouldn't proceed with the pregnancy; there are some serious health risks involved. Sarah is adamant that she is going to have her baby.
Sarah wants to reassure the girls so she pretends to feel the baby kicking and asks Johnny 'can't you feel the baby kicking'. After putting his hand on her stomach he says 'I can't feel anything.' Sarah chews him out saying he should have lied for the kids sake, after all he is an actor. And he can't feel anything - that's why he doesn't get any acting jobs. They start blaming each other for Frankie's death. Sarah says Johnny shut his feelings off when Frankie died and hasn't even been able to cry since.
Johnny angrily goes downstairs to confront Mateo about why he is spending so much time with his family. He accuses him of being in love with his wife. Mateo says 'I love all of you, even the unborn child, I love everything that is alive'. Johnny realizes that Mateo is dying of AIDS.
Time progresses and as Sarah gets more pregnant, Mateo gets sicker. The children go to visit Mateo one last time as he is very sick and Ariel makes Mateo promise he will say goodbye to her before he goes.
Finally it's time for Sarah to go to the hospital and we see Mateo go to the same hospital. Sarah has her baby but it's premature and needs a lot of medical help. Sarah is delusional and starts yelling, asking about Frankie. She starts blaming Johnny for his death saying 'it's your fault he died because you put the gate at the top of the stairs and he climbed the gate!'. She has to be sedated.
The hospital asks Johnny for a $5000 check. Johnny gives them a check but it bounces. The Doctor informs the family that the baby needs a blood transfusion. However, Johnny is not a match and Sarah is too sick so Christy bravely donates the blood and the baby gets better.
The nurse pulls a sheet over Mateo's head; he's dead. The baby gets better and the family can leave the hospital and take the baby home. As they check out of the hospital, they are nervous as the cashier prints out the bill and announces the total is $33,000. However, they become very surprised when the cashier informs them the bill has been paid in full by Mateo.
Ariel is upset because Mateo never said good-bye to her and he promised he would.
Finally they go outside and there's a full moon. Johnny and Christy decides to lie for the sake of Ariel . They pretend to see Mateo flying by the moon (like ET) and waving goodbye. They ask Ariel 'do you see him?'. And she keeps insisting she can't see anything, but finally she says 'I see him'! And waves good bye. Then Christy asks for her 3rd wish from Frankie. She asks him to help their Dad say goodbye. She tells Johnny to say goodbye to Frankie. He waves and says goodbye and starts crying for the first time since Frankie died.