American born Indian Roshan (Abhishek Bachchan) brings his ailing grandmother (Waheeda Rahman) back to her former home in Chandni Chowk, the walled city of Old Delhi. He is pleased with the warm reception he gets from the neighbours, who treat him as family, except Bittu (Sonam Kapoor), the daughter of his neighbour (Om Puri as the patriarchal father). Bittu has a feeling of animosity towards him and calls him "burger chhaap". News of a primate nicknamed “Kala Bandar” or the black monkey, a miscreant in the neighbourhood, greets Roshan at the outset and keeps popping out of all news channels frequently. Roshan is intrigued by the Indian culture erstwhile unknown to him, when he witnesses the birth of a calf in the middle of a street. This causes a traffic bottleneck when he tries taking his stuporous grandmother to the hospital. The crowd refuses to vacate the road since cows are treated as God in India. He encounters a corrupt Inspector Ranvijay (Vijay Raaz) in the Ramleela ground who enforces law by hitting and bullying people. The inspector tastes his own medicine when Roshan hits him back after calling him a "public servant", which the inspector finds humiliating and arrests him. Later, this makes the inspector a butt of ridicule among the locals. Roshan is bailed out by Ali (Rishi Kapoor), who pays a fat wad of cash to the inspector, wrapped in a paan, as a gift.
Roshan is amused by the various ideas the omniscient electrician of the locality has, after the claim of a man being electrocuted by the black monkey. The latter plans to capture the Black monkey by throwing water on it and short-circuiting its mother board. Roshan visits the Ramleela ground where he saves Bittu's younger under-age siblings from getting arrested after their attempt to drive a police jeep. This he does by feigning witnessing the black monkey drive the jeep, impressing Bittu in the process. Bittu contemplates threatening her family with suicide and homicide with rat poison if they force her to marry. Roshan encourages her to stand up for herself, alienating his neighbours in the process. He is berated by his grandmother and neighbours when he invites Jalebi (Divya Dutta), the local sweeper to a Jagran[religious ritual] in his house, since he doesnt know about the still prevalent caste system in the society. The locality also experiences frequent power cuts and shortage of water supply, but Roshan falls in love with the place because he senses that something binds the people together and that is--love. Meanwhile Bittu confesses her desire to become the Indian Idol and that the rat poison was a ruse to scare her parents.
Roshan inadvertently gets involved in various situations where the Black Monkey has seemingly wrecked havoc. That, combined with his uncanny ability to scale walls and jump from one terrace to another like a monkey, makes the locals start to suspect him as the culprit. Bittu's father Madangopal (Om Puri) arranges her wedding to the son of an unscrupulous businessman who demands a large sum of money including a car. Bittu hatches a plot to avoid her wedding, which involves fleeing to Mumbai with Suresh (Cyrus Sahukar), the unsavoury local photographer. By then she has made it through the first round of Indian Idol auditions. The locals enlist the help of a Tantrik Baba to get rid of the Black Monkey. The baba insists that the Black Monkey is a tortured Hindu soul which is enraged, since the place where a Mosque stands now was the earlier location of a temple. He also promises to get rid of the menace in a voodoo ceremony if someone hands him few strands of the monkey's hair. The locals coerce Gobar (Atul Kulkarni), a local lad, who they think is dispensable and obtuse, into entering an abandoned and haunted building, in search for the monkey. Jalebi takes pity on him and offers him a strand of her hair which he could fake as the monkey's hair. However the Baba's announcement has spurred Hindu-Muslim communal riots in the locality and friends have now turned enemies. They even prevent Roshan from entering the temple since his mother is a Muslim. The situation compels Roshan to reconsider his decision to stay back or return to America.
However he realizes that he has fallen in love with Bittu. Egged on by Ali (Rishi Kapoor), he tries to foil her attempt to escape with Suresh in the middle of a curfew by dressing up and impersonating the Black Monkey. Suresh panicks and runs away, leaving a screaming Bittu with Roshan, who unmasks himself and confesses his love. However the screams bring the rioting locals to the scene who mistake Roshan for being the black monkey and attack him en masse, almost killing him. Gobar manages to lay them off by showing them Jalebi's strand of hair that he claims belongs to the real black monkey. The locals realize their mistake and hospitalize Roshan, who survives. As a symbol of triumph of good over evil, the black monkey mask Roshan had donned is burned along with Ravan's effigy at the Dusshera celebrations.