Villain is a dubbed version of tamil movie "Raavan" and it is about a Raavan (Vikram) who is waiting for a chance to take revenge on a police officer Ram (Prithviraj) who was responsible for the death of his sister.
At the same time Ram gets married to his love Janaki (Aishwarya Rai).But on the very next day of the marriage Raavan kidnaps Janaki and takes her away.
Later Janaki comes to know of the real Ram and falls in love with Raavan. In the end after a fiery duel Raavan Vikram loses to Ram Prithvi. But when Ram wanted to take Janaki back home she refuses to go and stays with Raavan.