Director: Rakeysh Omprakash Mehra
Writer: Prasoon Joshi
Stars: Farhan Akhtar as Subedar Milkha Singh
Sonam K Ahuja as Biro, Milkha’s fleeting love interest
Divya Dutta as Isri Kaur, Milkha’s elder sister
Meesha Shafi as Perizaad
Pavan Malhotra as Hawaldar Gurudev Singh, Milkha’s coach during his days in the Indian Army
Yograj Singh as Ranveer Singh, Milkha’s coach
Art Malik as Sampooran Singh, Milkha’s father
Prakash Raj as Veerapandian
K.K.Raina as Mr. Wadhwa
Rebecca Breeds as Stella
Dalip Tahil as Jawaharlal Nehru
Dev Gill as Abdul Khaliq
Nawab Shah (actor) as Abdul Khaliq’s coach
Jass Bhatia as Mahinder
Japtej Singh as young Milkha Singh
Salim Zaidi as Pakistani reporter
Mahendra Mewati as Kirpal Singh
The film starts in the 1960 Summer Olympics in Rome, where a coach says “Bhaag Milkha Bhaag!” The runner is taken back to the memories of his childhood days which haunt him, resulting in him dropping to fourth. The Partition of India in 1947 caused chaos which resulted in mass religious violence in Punjab in British India, killing the parents of Milkha Singh (Farhan Akhtar). He reaches Delhi and later meets his sister there. Living in impoverished refugee camps, Milkha makes friends and survives by stealing with them. He falls in love with Biro (Sonam Kapoor), but she asks him to live a life of honesty.
Milkha finds himself in the army where he gets noticed by a havaldar (sergeant) after he wins a race in which the top 10 runners will get milk, two eggs and excused from exercise. He gets selected for service commission where he is miffed and gets beaten up by senior players whom he had defeated earlier, on the day before selection of Indian team for the Olympics. Despite being injured, he participates in the race. Overcoming his pain, he wins the race, breaking the national record.
During the Melbourne 1956 Olympics he is attracted to the granddaughter of his Australian technical coach. After a frolicking night in a bar, they have a one-night stand. The following day he feels exhausted from the night’s activities and loses the final race. He realises his mistake. Suffering from guilt, he even slaps himself in front of a mirror. On the flight back to India he asks his coach what the world record is for the 400m race and learns that it is 45.90 seconds. He trains hard and wins in several places. He then breaks the previous world record for the 400m race with a time of 45.80 seconds.
Jawaharlal Nehru (Dalip Tahil), the prime minister, convinces him to lead the Indian team in Pakistan for a friendly race with Abdul Khaliq (Dev Gill), also known as the fastest man of Asia. In Pakistan, he misses the press conference and goes to his village where, in a flashback, it is shown how his parents were murdered and the last words of his father were “Bhaag Milkha Bhaag!” He starts crying and is comforted by a boy who turns out to be his childhood friend’s son. He also meets his friend Sampreet.
In the games, initially the Pakistani favourite is winning, but Milkha takes the lead overtaking opponents one by one, taking a convincing lead, and winning the race and respect of the two nations. The president of Pakistan, General Ayub Khan, impressed by his effort gives him the title The Flying Sikh. Jawaharlal Nehru declares a day in the name of Milkha as national holiday as desired by Milkha himself.