It is believed that the bus rolled while en route to Upington from Durban early yesterday.
The crash occurred at the intersection of Arrarat and Alma roads.
The driver is believed to have scrambled out of the bus after the crash and walked to a tree near the scene where he hanged himself.
He was found by paramedics at the crash site.
According to the Free State Health Department, four women and three children were declared dead at the scene, while a fourth child died later in hospital.
The department also said, in a Facebook post, that the remaining passengers suffered minor to critical injuries and were rushed to local hospitals.
Intercape spokesperson Pieter Louw said they were saddened by the crash and news of the driver’s death.
He said the driver was familiar with the route and that the bus was roadworthy.
He added that they would be co-operating with police during the investigation.
“Our deepest and most sincere condolences to the families of the deceased passengers. Intercape regrets the accident,” he said.
Free State Health MEC Montseng Tsiu also expressed her condolences to the families of the deceased.
Free State police spokesperson Brigadier Sam Makhele said a case of culpable homicide was being investigated.
Last month, 70 people were injured when an Intercape bus crashed and rolled near Pietermaritzburg.
The crash occurred on the N3 on-ramp from Chatterton. It is believed that the bus was travelling on the on-ramp when it overturned.