The accident happened in Hunan province when the bus carrying 56 people crashed into the guardrails on a highway.
The ensuing oil leak may have caused the fire, the county government said.
Twenty people have been hospitalised and rescuers are still searching the charred frame of the bus.
The police has detained the driver of the bus, state-run Xinhua news agency reported.
State-run broadcaster CCTV showed a video in which thick smoke can be seen billowing out from the vehicle while passengers struggle to get out of the bus.
Long distance buses are a popular mode of transport between far-away cities and provinces in China.
However, many of these bus firms do not follow safety regulations and the country has seen quite a few fire incidents on buses in recent past.