When Balraj, a London barrister of Indian origin, visits Amritsar for a friend's wedding, he brings along his sister Kiran and his American friend, William Darcy. While there, they make the acquaintance of Mr. and Mrs. Bakshi and their four daughters, Jaya, Lalita, Maya, and Lakhi ("Lucky"). Balraj and Jaya feel an immediate attraction, but Lalita is offended by William's condescending attitude toward India and Indians, and even his attempts to apologize all seem to go wrong.
After the wedding, William wants to visit Goa, to see whether his company should build a hotel there. Balraj and Kiran will be going with him, and Balraj invites Jaya to accompany them. Mr. Bakshi observes that this would hardly be proper, but Mrs. Bakshi is very eager to see all of her daughters married, and suggests that Lalita go along as Jaya's chaperone. While in Goa, Lalita quarrels with William, saying that a beach resort in Goa is nothing but a way "to go to India without having to deal with Indians". But, during an Ashanti concert, she meets and is drawn to Johnny Wickham, son of the nurse who helped raised William, who explains that William kicked him out of the Darcy household as soon as the elder Mr. Darcy died.
Back in Amritsar, the Bakshi family is visited by Mr. Kohli, a distant cousin who has emigrated to America, and become a successful accountant in California. He is very proud of his green card, and very dismissive of India. But one thing that he cannot find in his new country is a nice, old-fashioned, subservient Indian girl, and, as he puts it, "No life without wife." Johnny turns up again, and attends a dance with Lalita. William tries to warn Lalita that Johnny is not all he seems, but she is too angry to listen. Lakhi is also very taken with the handsome Johnny. At a family dinner, Mr. Kohli continues to speak disparagingly of India, when, much to Lalita's surprise, William objects that he has seen much to admire in India; in particular, he thinks rather more of the loving Bakshi family than his own. To her daughters' embarrassment, Mrs. Bakshi speaks openly of her plans for her daughter's future lucrative marriages, despite her husband's attempt to change the subject.
Mr. Kohli proposes to Lalita, who turns him down in no uncertain terms, to her mother's dismay; but Mr. Bakshi is proud of his daughter. The next day, Balraj claims a sudden change in plans is forcing his party to return to London early. The Bakshis hear that Mr. Kohli has proposed to Lalita's best friend, Chandra Lamba, who has accepted. There will be a small wedding here, and a larger one in America. That evening, Johnny claims that he has to meet some friends in another village and leaves as well.
When all the visitors have left, both Jaya and Lalita are disappointed. Neither Balraj nor Johnny are keeping their promises to stay in touch. Lakhi does not tell anyone that Johnny is answering her letters.
For all his vulgarity, Mr. Kohli has a good heart, and sends four tickets to Los Angeles (via London) for Mrs. Bakshi and three of her daughters to attend his wedding. In London, they visit Kiran, but Balraj, it appears, is in New York, where their parents are introducing him to some marriageable girls.
At Heathrow, the travelers run into William, who is taking the same flight. He offers to trade his first-class seat with Mrs. Bakshi, which lets him sit next to Lalita. Impressed with his kindness, Lalita finally has a polite conversation with him. He tells her he is glad that Johnny Wickham has not stayed in touch with her, as Johnny is a 'nasty piece of work,' and discusses his own and Balraj's problems of parental influence.
Mr. Kohli is holding his wedding at one of the Darcy family hotels, and there we meet William's unpleasant mother, who says that they have lost a fortune over William's taking Lalita's words to heart and passing on the Goa resort idea. William's younger sister, Georgina ("Georgie"), then adds that William has been telling her many nice things about Lalita. Lalita and William are soon dating, but at the wedding, Mrs. Darcy introduces vapid yet well-connected Anne, whom she wants William to marry, as Darcy's girlfriend. After the ceremony, Georgie tells Lalita that William has advised his friend Balraj not to marry an Indian woman with a horrid, fortune-hunting mother. Lalita realizes that Georgie is referring to Jaya, and when immediately after Darcy tries to deny any future with Anne and profess his love for Lalita, she blows up completely at him: "Only you could say you love me and insult me at the same time!" she says. He admits having a part in breaking up Jaya and Balraj, and she angrily walks away from him.
Darcy tries to see Lalita the next day, only to find the Bakshis have already left for London.
In London, Lakhi leaves "to go shopping", but instead goes off to meet Johnny Wickham and does not come home that night, sending a note telling her family who she is with. The Bakshis are still in shock when William shows up to apologize to Lalita the next day. He says that he has apologized to Balraj, too; that he simply hadn't realized that Jaya was really in love. But Lalita has no time for this; she tells him how Lakhi has run off with Johnny. Darcy is thunderstruck, and tells her that Johnny got Georgina pregnant when she was only sixteen, and attempted to elope with her for her money, and that Darcy had been "left to pick up the pieces". They both go to track them down, first to Johnny's home on a canal boat, then to the London Eye, and, finally, into a Bollywood cinema. There, William and Johnny get into a fist fight in sync with the fist fight on the screen, and, as William and Lalita are pulling Lakhi away, Johnny's big mouth makes it clear even to Lakhi that he's worthless.
When they get back to the family, everyone's relieved, and they are greeted with the news that Balraj is there, that he has proposed to Jaya and that she has accepted.
Back in Amritsar, it seems the whole city is there to celebrate the double wedding.