The fully-loaded bus turned over while on a spring outing organised by a school in Hainan province.
The accident took place about 11 am in Chengmai County, where an outing was organised for 586 students in 14 buses, the county government said.
Of the 32 injured, the condition of the four was serious. They are being treated at a local hospital, state-run Xinhua news agency reported.
The county government has already paid 100,000 yuan (USD 16,258) to the families of each of those killed.
Schools in China traditionally organise outings for students in spring and fall.
The Xincai School, a private institution, did not report to any authorities before organising the outing, local official said.