- READ ALSO: Woman hit by Rome metro train
The man, named in the Italian press as 47-year-old Igor Trotta, was arrested at his home in south-western Rome hours after the incident at EUR Fermi station.
According to the Corriere della Sera, he told police: "I heard voices, I heard them telling me to do it. God told me to."
The suspect is reported to have a history of mental health problems, but no criminal record. He remains in custody pending a hearing before a judge.
The victim, identified as Micaela Castro Pizarro, a Peruvian woman living in Rome, was badly injured but is expected to survive. She remains in hospital, having lost her left forearm and suffered several fractures.
Police do not believe she knew her attacker, according to reports. She is thought to have been pushed at random in "an act of madness", investigators told Roma Today.
Pizarro has lived in Italy for around 20 years, working as a carer and cleaner. She was pushed onto the tracks of the line B at EUR Fermi shortly before 1pm on Friday, where she became stuck between the platform and an oncoming train.
Trotta, a native of Rome, lived with his mother in the neighbourhood of Spinaceto. He had been receiving treatment for mental health problems since the age of 19, his mother told the Corriere della Sera.
He is expected to be charged with attempted murder.