A gang of about 10 attackers wearing black brandished machetes and knives on Saturday evening as they approached the railway station in Kunming, capital of China's Yunnan province.
As they stabbed and slashed the people at the ticket booths, they left 29 people dead and more than 130 injured, reported Reuters.
A parking attendant known only as Mr Chen, who had been standing near shops about 50m from the site, said he could not believe what was happening when he saw the attackers.
"They all had knives and they were stabbing people madly over by the first and second ticket offices," he said.
At about 9.30pm, Mr Wang Xianlong, a 61-year-old migrant worker from Baoshan city in Yunnan, and some companions, were preparing to take the train to Hebei province when the terrorists attacked.
Mr Wang Dezhu, one of Mr Wang Xianlong's companions, said the workers wielded long bamboo pipes - used in rural areas - to protect themselves.
One of the workers injured his waist during the fighting, said Mr Wang Dezhu, who looked over the victims last Sunday night.
He added that Mr Wang Xianlong did not feel the pain when his abdomen was sliced open by one of the terrorists.
"I clearly saw his intestines coming out, (so) I caught them and held them still until the ambulance came to our aid," said Mr Wang Dezhu.
"The people in our group are mostly in their 50s or 60s and cannot defend themselves from attacks like this. It's not safe out there and (now) we won't go to Hebei or other provinces to make a living."
Mr Wang Xianlong was operated on by doctors at Kunming No. 1 People's Hospital for five hours to close the 20cm-long slash wound on his belly, reported China Daily.
The more than 130 people who were injured were sent to seven hospitals in Kunming.
The attackers also slashed at the elderly, women and children, said witnesses.
"The terrorists attacked everybody they ran into with the long knives, even old people and kids," a passenger told China News Agency.
"We ran at once when we saw those thugs, but my mum was tripped by a chair (and fell). My dad tried to help her, but a man stabbed her right in the throat with a knife... "
The passengers fled into nearby shops and restaurants to evade the men.
Mr Ang Jie, manager of Dicos restaurant near the railway station, told a China Daily reporter: "After the attack, many passengers swarmed into our restaurant. We opened the door to receive the passengers and passers-by until the store was (full)."
The owner of a mobile phone shop sheltered more than 10 people from the station. He locked the shop from the inside and prepared to fight off attackers with fire extinguishers.
From behind the glass door, he saw one attacker using his knives to point at the people inside, Beijing News reported.
Mr Tobias Schindler, 23, a German tourist, arrived at the railway station as the attack was taking place.
"We wanted to take the train at 11pm to Dali. We walked to the train station and we saw one guy (who was) really bloody. (Then) everybody just started running, running, running," he said.
"We just followed them. Some of them went to small shops and we followed them. Then they locked everything and turned the lights off. We went to a dark corner where nobody could see us."
The police shot four of the attackers dead and captured one, state news agency Xinhua reported. About five others were on the run, it said.
Xinhua quoted the Kunming city government as saying that evidence at the crime scene showed that the attack was carried out by Xinjiang separatist forces.
State broadcaster CCTV said earlier that of the four attackers killed by the police, two were men and one was a woman.
Another female suspect was wounded by police fire and was taken to a hospital for emergency surgery, it said. Some witness accounts on social media said there were more than a dozen attackers, reported South China Morning Post.
On social network Sina Weibo, Chinese Internet users urged others to stop posting pictures of the bloody aftermath of the attack.
"Stop publishing bloody photos, because that's just what the thugs want," one Weibo user named Fuzhaolouzhu wrote.
Another Weibo user, named Shouyi Xiaoxing, said: "Don't exaggerate the brutal methods of the attackers or highlight the bitterness of the victims... Let's cherish life and think about good things."
China's domestic security chief, Mr Meng Jianzhu, vowed that those responsible would be brought to justice.
"This brutal attack on defenceless, innocent people by violent terrorists devoid of conscience exposes their inhuman and anti-social nature," Xinhua quoted him as saying.
"They...will face the severe punishment of the law. We must mobilise all resources and adopt all means to break this case," Mr Meng said, echoing comments made by Chinese President Xi Jinping.
Mr Meng, who is also a member of the ruling Communist Party's elite 25-member Politburo, made an emergency trip to Kunming, visiting the train station and wounded victims in hospital.
The attack marked a major escalation in the simmering unrest that had centred on Xinjiang, a heavily Muslim region in China's far west strategically located on the borders of Central Asia.
It is the first time that people from Xinjiang have been blamed for carrying out such a large-scale attack so far from their home.
China blamed militants from Xinjiang for an incident last October involving a vehicle in Beijing's Tiananmen Square. In that incident, five people died.
Get The New Paper for more stories.