The incident occurred at around 8am after the 62-year-old driver of the bus, employed by a private school, let off five children at a parking lot in front of the school, Vaud cantonal police said.
For a reason that the investigation aims to discover, the bus started moving forward.
The front right corner of the bus and the right wheel struck the boy, police said.
A passerby pulled the boy out before ambulance attendants and a doctor arrived on the scene.
The victim was transported to the Montreux hospital where he died a short while after, police said.
The bus driver, severely shocked by what occurred, was also transported to the hospital to be checked.
The other children were not injured but they were taken to a hospital in Vevey, where they were looked after by child psychologists.
Psychological counselling was made available at the school and an emergency support team offered help to the victim’s family, police said.
The investigation into the accident is being led by traffic unit specialists from the local gendarmerie.
Police, meanwhile, are investigating another traffic fatality that occurred on Wednesday night in La Chaux-de-Fonds in the canton of Neuchâtel.
A 25-year-old woman from the watchmaking city died after being struck, along with another pedestrian, on a pavement by a car that mounted the curb.
The driver, a 26-year-old French citizen, lost control of his vehicle while travelling in the direction of Le Locle, Neuchâtel cantonal police said.
The two people hit by the car were taken to hospital, where the woman died, police said.