Parents of the 13-year-old girl called police at 8:20 p.m. Thursday after their daughter failed to return from school, and checks with all her friends turned up no trace of her.
"This is a girl with good marks in school," said Répentigny police chief inspector Serge Adam. "She had no history of running away, no involvement with drugs or alcohol."
Adam said police were at the girl's home to begin their investigation when the teenager returned at around 9 p.m..
"She was badly injured and missing several pieces of clothing," Adam said.
The girl was taken to hospital and treated for cuts around her face and throat, a punctured lung and a possible broken nose.
Adam said the girl told police she had been at the nearby home of a 13-year-old boy she knew from school.
The boy is in custody and is to appear in youth court, where he is expected to face several charges in connection with the attack.