This upbeat romantic drama revolves around Veera (Rani Mukerji), a young woman who lives in a small village but dreams of playing cricket in the big league, being extremely talented in the game. Veera works in a nautanki and dances with the star performer, Shanno (Rakhi Sawant), an arrogant and conceited woman.
Rohan (Shahid Kapoor) is an accomplished captain of a county cricket team in England. His father, Vicky, and mother, Yamini, are separated. Rohan lives with his mother in England and his father lives in India. Vicky has been captaining the Indian cricket team against the Pakistani cricket team in a tournament called the 'Aman Cup.'
Every year, for 8 years, India has lost all matches. To win, Vicky pretends to have a heart attack and asks Rohan to come to India. When Rohan reaches India, he agrees to captain the team for his father, determined to make the team win. Rohan holds auditions to select the best players, but when Veera goes to audition, she is not allowed to enter because players have to be male. Upset, Veera then disguises herself as a man named Veer and is accepted into the team.
One day when a glass of juice is thrown in Veera's face, her hair falls, but she hides it and runs to the men's changing room. Rohan looks for "Veer", but finds Veera in the changing room instead. Veera quickly pretends to be Veer's sister to cover the disguise. Rohan argues with her but later asks "Veer" to bring him to Veera to apologise. Rohan falls in love with Veera as herself (he does not recognise her as Veer). Rohan and Veera go on a date and Veera falls in love with Rohan as well.
The big day of the match arrives, when India is set to play Pakistan in Lahore's Gaddafi Stadium. Rohan's mother arrives at the match and she and Rohan's father are reunited. In the match, Veer gets the other player out and everyone hugs her in joy. In the excitement, one of Veer's brown contact lenses falls out onto Rohan's finger and he realises that Veer is Veera. He argues with her about her deception and goes back to play the match without "Veer". Upset, Veer takes off her disguise, changing back to herself.
When Rohan's team starts losing, Vicky tells Rohan that it isn't important to win or lose any more; he is happy that at least through the match, he and his mother came. But Rohan understands how badly his father wants to win this match, so he gets Veera to come back and play the match. Veera puts her disguise back on and plays well, but in the closing stages, she is tripped by a Pakistan fielder. Rohan rushes to her aid and the medical unit says that Veera's arm is fractured, but she determinedly continues playing.
She shows her talent by switching sides and batting with her left hand. They win the match and Rohan asks "Veer" to show his true identity. Everyone is shocked that Veer is actually a woman and accuses her of being a cheat. Veera then gives a heart-touching speech about women and their talents that become useless because of men's dominance. Everybody realises that talented women should be allowed to play with men in cricket teams and gives her a round of significant applause. Veera sees Rohan's love for her and the two are reunited.