The film begins in 1857, when India was ruled by the British East India Company. Mangal Pandey is a sepoy, a soldier of Indian origin, in the army of the East India Company. Pandey is fighting in the Anglo-Afghan Wars and saves the life of his British commanding officer, William Gordon. Gordon is indebted to Pandey and a strong friendship develops between them, transcending both rank and race.

Aamir Khan
as Mangal Pandey

Rani Mukerji
as Heera

Toby Stephens
as Captain William Gordon

Ameesha Patel
as Jwala

Om Puri
as Narrator (uncredited)

Kirron Kher
as Lol Bibi

Ben Nealon
as Captain Hewson

Habib Tanvir
as Bahadur Shah Zafar

Varsha Usgaonkar
as Rani Laxmibai

Shrirang Godbole
as Nana Saheb