India's biggest sporting icon, who narrowly missed a medal in the 400 metres at the 1960 Rome Olympics, is now 74 and still shudders when he remembers what happened in his small northern village in what is now Pakistan.
"I had to watch my parents being slaughtered before my eyes," he told Reuters. "Those were violent days, there was terror in the air."
Milkha's village was caught in the thick of the religious violence that followed the partition of India and Pakistan at the end of British rule in 1947. A turban-wearing Sikh, he was an easily spotted target.
The 17-year-old Milkha would run and hide, not knowing if he would live another day, until the Indian army rescued him and took him to New Delhi.
"There were lots of us. We used to sleep on the railway platform. Some kind-hearted people came with food every day. Somehow, we managed to survive."
He was desperate to join the army but was rejected four times. Milkha, who learnt early to never give up, finally got through after a friend put in a word.
It was only then that his life as a runner began.
"In 1951, I ran my first race. All the recruits were told there would be a five-mile cross-country and the first 10 would be selected for further training."
Milkha, who had never run in a competition, went out too hard and fell over twice but battled exhaustion to finish sixth. Advised to run the 400 metres, he soon became an integral part of the army team.
"By 1954, everyone in the army knew there was a Milkha Singh who ran very fast," he said.
At the 1955 national games in Patiala, where he finished fifth out of six runners, his life took another turn.
"The Maharaja of Patiala was a big sports fan and very influential. He said I should be picked for the training camp for the Melbourne Olympics. He had a feeling about me."
Hooking up with a professional coach for the first time produced dramatic results. Milkha quickly became the best among his team mates, who reacted with jealousy.
"The night before our selection race for the 1956 Olympics, while I was sleeping, they threw a blanket over me and hit me with rods to keep me out."
Milkha escaped without broken bones but got a high fever after the beating. Unfazed, he still won the race and booked his ticket to Melbourne.
"I was so excited because I was going on my first plane ride," Milkha said.
In Melbourne, he lost in the first round. American Charles Jenkins won gold in 46.7
For the next two weeks, with a team mate who knew broken English, Milkha stalked Jenkins.
"I just followed him, kept trying to find out how much he trained, what he ate, when he slept."
When Milkha returned home, he vowed to go faster than Jenkins. He kept the American's winning time next to a sketch of Guru Nanak, the founder of Sikhism, and prayed before it every day.
Two years later, at Cuttack in 1958, Milkha ran 46.6 seconds.
"I measured the track to make sure I'd actually beaten the time. After that, I knew I could do anything I set my mind to."
India took Milkha to its heart and he became the country's most admired sportsman, winning 77 of his 80 races across the world.
Even in Pakistan, his popularity knew no bounds.
Milkha was invited to race there in 1960 and, though he was reluctant because of his traumatic childhood, was persuaded to accept by Indian Prime Minister Jawaharlal Nehru.
Milkha won the race, beating local hero Abdul Khalique, and was nicknamed "Flying Sikh" by Pakistani President Ayub Khan.
"There was a stand in the stadium, where there were thousands of women in burkhas. When I was taking a victory lap, they all lifted their burkhas to look at me," Milkha said.
He went to the Rome Olympics as a clear favourite but the Games ended in heartbreak.
Milkha was in the lead going into the home stretch when suddenly he felt he was running too fast and might not finish.
"Just before the end, I turned to see where the others were. That broke my rhythm and ruined my race."
Milkha clocked 45.6 seconds, faster than the Olympic record of the day, but was beaten into fourth place by a tenth of a second. American Otis Davis won the gold with a world-record 44.9 seconds.
"If only I could go back in time and change that fraction of a second..." Milkha said, misty-eyed.
He went on to win gold at the 1962 Asian Games but knew he would never be at his best again.
He now spends his time playing golf and being with his wife, Nirmal. His son, Jeev, is one of India's best golfers.
"I'm not going to live forever," Milkha said.
But 44 years after the anguish in Rome, he still nurses the hope that he will live to see an Indian athlete win a medal at the Olympics.