TV footage showed the two trains crushed together, with considerable damage to the front end of one and the back of the other, and emergency workers carrying the injured out on stretchers.
Some carriages of the train which was hit were derailed by the impact. The driver of the other train was reportedly stuck inside his crushed cab and rescuers had to force their way in with metal bars.
“So far 35 people, including the train driver, have been taken to hospital,” Eva Chairunisa, a spokeswoman for operator Kereta Commuter Line, told TV station tvOne.
She said most of the victims were female as the first and last carriages of commuter trains in Jakarta are reserved for women. It was not clear how serious the injuries were.
An investigation has been launched into the cause of the accident at Juanda station on the busy line, which carries thousands of commuters every day in and out of the metropolis of over 10 million, said the spokeswoman.
Thousands of weary commuters were facing delays after the line was partially closed following the collision.
Transport accidents are common in Jakarta, where the roads are crowded with huge numbers of cars and motorbikes and buses and trains are often old and badly maintained.
In 2013 seven people were killed and scores more injured when a commuter train collided with a fuel tanker at a level crossing in Jakarta and burst into flames.