The crash happened on the Sarmiento line near the Castelar stop, about 30 kilometers (19 miles) west of the Argentine capital, when a passenger train collided with another train that was empty and stationary.
The company operating the line said it was not yet clear what caused the crash, which occurred at 7:07 am (1007 GMT), but that the train had sped past a "caution" signal to slow down and three "danger" signals ordering it to stop.
"I heard a loud noise and everyone started falling down, and people were shocked and crying," said a 26-year-old passenger who identified herself as Lida.
Dozens of ambulances as well as rescue workers and volunteers arrived to help the wounded. The rescue operation concluded four hours later, as shocked family members clustered around the scene of the accident.
"Look, please look, his name is Manuel Tolaba, 29 years old, there must be some kind of list", said Alicia Castro nervously, looking for her brother-in-law while carrying a baby in her arms.
Interior and Transport Minister Florencio Randazzo said service would be interrupted for 24 hours "so that an in-depth investigation may take place."
"We wish to know beyond a doubt if it was criminality or an accident," the minister added, saying the train had been equipped with new brakes.
However, union representative Daniel Ferrari said in a statement that the train "had been having problems for six months."
The driver of the train, who was injured in the crash and taken to a hospital, has not yet commented on the incident.
The Sarmiento rail line, which links the western suburbs to downtown Buenos Aires, was the scene of one of the worst rail accidents in Argentine history, which left 51 people dead and more than 700 wounded in February 2012.