A Greyhound bus driver was attacked by a passenger while the bus was in motion on eastbound Interstate 70 near Vail.

Sergeant Justin Dill with the Vail Police department says a male passenger got up and began physically assaulting the driver around noon on Thursday. The driver managed to safely stop the bus near mile marker 173 of the highway.

"He went up to her," said a female passenger on the bus. "She said something like, hey you can't be up here. He went right under and started beating the crap out of her. Just like that. He just snapped, we don't know why."

Other passengers on the bus came to the driver's aid, according to Sgt. Dill and restrained the suspect until police and paramedics arrived.

"He was trying to jump off the bus while the bus door was open, everybody held him down to try to restrain him," said another passenger.

Sgt. Dill says the suspect has lacerations and other injuries as a result of the struggle with other passengers. He was taken to the hospital for treatment. Once medically cleared he'll be officially booked.

The bus driver was checked out at the scene by paramedics, but was not seriously hurt.

Police are investigating what led up to the attack.

According to police, the last major stop on the bus was Grand Junction, but the suspect boarded the bus at a prior stop along the route.

"He sat with me all the way from Vegas," said a passenger. "He was calm."

9NEWS has reached out to Greyhound, but we have not heard back from them.