A 15-year-old witness told Fairfax Media she saw a man jump onto a woman between Glenferrie and Hawthorn stations before he started “biting her head”.
“He then pushed her to the ground,” she said.
“It was so scary. I was metres from where it happened.”
Afterwards, the man terrorised several teenagers and pushed one boy onto the train tracks, Channel Nine reported.
Other passengers came to the woman’s aid while Metro staff restrained the man until police arrived.
A teenager and a woman in her 30s were also injured in the unprovoked attack.
An Ambulance Victoria spokeswoman said the three victims were in a stable condition.
One victim was taken to Box Hill Hospital, while another was taken to The Alfred.
The alleged offender, aged in his 30s, has been arrested and is in police custody.
There were major delays on the Belgrave line on Thursday afternoon after police asked for the train to be held until detectives arrived.