A metro train carrying 213 passengers collided with an empty one in a tunnel near the Petronas Towers, at about 20:45 (12:45 GMT), police said.
The empty train had just been repaired, and was going in the opposite direction on the same track as the full one.
District police chief Mohamad Zainal Abdullah told reporters there was no sign of foul play.
"We are still investigating the incident... but we suspect that perhaps there was a miscommunication from the trains' operation control centre," he said.
Of the 213 injured, 47 people are in a serious condition while the other 166 have sustained minor injuries, he added.
Images and footage posted on social media in the hours after the incident showed bleeding passengers lying on the floor of the train carriage, which was covered in broken glass.
In a statement posted on Facebook, Malaysian Prime Minister Muhyiddin Yassin said the crash, which happened near the city's busy KLCC station, was "serious".
He added that he had asked the train operator Prasarana Malaysia Berhad and the country's transport minister "to conduct an in-depth probe to find out the cause of the accident".
Transport Minister Wee Ka Siong said in a separate statement that the crash was the metro system's first major accident in the 23 years it had been operating.
He also pledged to conduct a full investigation.