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 Olympics. In spite of being injured, he participates in the race. Overcoming his pain, he wins the race thus 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 realizes 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.
To find out what happens next
watch the full movie
Plot Summary from Wikipedia - See more on en.wikipedia.org Text under CC-BY-SA license