Montreal police said the attack happened just before 6 a.m. while the bus was near the intersection of St-Denis Street and Henri-Bourassa Boulevard.
Police said the suspect assaulted the victim for "no evident reason."
"The suspect attacked him with a sharp object, like a little Swiss army knife," said Const. Simon Delorme.
The victim was taken to hospital and treated for injures to his upper body.
The suspect walked away from the scene, but was quickly apprehended by police.
Delorme said the 40-year-old man was brought in for questioning and appears to be suffering from mental health issues.
He said it's not clear yet what, if any, charges will be laid.