Initial reports from the scene described the blast in the resort city of Guilin as an accident, although police declined to confirm that. There were no reports of students among the injured.
The explosion struck about 7 a.m. as children were arriving at Balijie Primary School.
The official Xinhua News Agency cited an eyewitness saying a motorized flatbed tricycle caught fire as it was passing the school and then exploded, setting other vehicles on fire and blowing out the windows in nearby buildings. Such tricycles are frequently used to transport goods in smaller Chinese cities.
Photos from the scene showed badly burned victims sitting dazed in the street as flames licked motorcycles around them.
A police officer in the area said one fatality had been confirmed and a number of other people were injured and sent to hospitals.
The officer, who gave only her surname, Li, said police were investigating. She declined to say whether they had determined a cause.