The story is set in Lahore (now the capital of Pakistani Punjab) in the time period directly before and during the partition of India in 1947 at the time of Indian independence.
A young girl with polio, Lenny (Maia Sethna), narrates the story through the voice of her adult self (Shabana Azmi). She is from a wealthy Parsi family who hope to remain neutral to the rising tensions between Hindus, Sikhs, and Muslims in the area. She is adored and protected by her parents, Bunty (Kitu Gidwani) and Rustom (Arif Zakaria), and cared for by her Ayah, a beautiful Hindu woman named Shanta (Nandita Das). Both Dil Navaz, the Ice-Candy Man (Aamir Khan), and Hassan, the Masseur (Rahul Khanna) are Muslim and in love with Shanta. Shanta, Dil, and Hassan are part of a small group of friends from different faiths (some of who work for Lenny’s family) who spend their days together in the park. With partition, however, this once unified group of friends becomes divided and tragedy ensues.