A young Sudanese bus passenger grabbed the steering wheel of the vehicle and tried to pull it off the road in Sicily before off-duty soldiers on board intervened, according to Italian news reports.
There were moments of fear among the other passengers aboard the bus, which was heading from Trapani to Palermo, the ANSA news agency said.
A motive has not been ascertained but Palermo prosecutors are investigating.
Waves of African migrants have arrived in Sicily in recent years.
Many make their way to family members and migrant communities in northern Europe, while others stay behind and find work, particularly in the island's agriculture industry.