An Italian bus driver of Senegalese descent was arrested on Wednesday after hijacking his own vehicle and setting it on fire, allegedly threatening to kill more than 50 children on board whose hands he had bound.

The 47-year-old man said he was acting in revenge for the thousands of migrants, many of them African, who have drowned in the Mediterranean in recent years while trying to reach Europe from Libya.

“No one will survive,” he said, according to police.

“He shouted 'Stop the deaths at sea, I'll carry out a massacre',” said Marco Palmieri, a police spokesman.

The man, named as Ousseynou Sy, was driving 51 children from their middle school near the city of Cremona to a sporting event when he started making threats, brandishing a knife.

In an ordeal that lasted around 40 minutes, he started driving towards nearby Milan.

He rammed the bus into cars on a busy highway before it came to a stop at a roadblock set up by police.

He then doused it in petrol and set it on fire.

Police smashed the windows of the vehicle to allow the children to escape.

Television footage showed thick black smoke and flames billowing from the bus, which was reduced to a burnt-out hulk.

“It was a miracle, it could have been a massacre,” said Francesco Greco, a prosecutor from Milan. “The carabinieri (police) were exceptional in blocking the bus and getting all the children out. They broke the windows and managed to get all 51 kids out.”

One of the children told reporters that the driver had threatened to pour petrol on them and set them alight.

The wreckage of the bus credit: Reuters

“He handcuffed us and threatened us. He said that if we moved he would pour out the petrol and set fire to it.

“He kept saying that people in Africa are dying and the fault is Di Maio and Salvini's” – a reference to Luigi Di Maio and Matteo Salvini, the leaders of the two parties that make up the populist coalition.

A 12-year-old boy who was interviewed by Italian television said the driver claimed that three of his children had drowned at sea while trying to reach Italy by boat from North Africa.

“He said he had lost three children, that many children die at sea, so we should die too, by being burned. I was afraid I would die,” the boy said.

Mobile phone footage taken by passing motorists showed children screaming in panic as they ran away from the vehicle.

At least 12 children were taken to hospital for bruises, smoke inhalation or because they were suffering from shock.

Police said the suspect had a criminal record, with convictions for sexual molestation and driving while drunk. He obtained Italian citizenship in 2004.

Mr Salvini, the interior minister and head of the anti-immigration League party, asked why a person with a criminal record was allowed to drive a school bus.

Interior minister officials said they were studying the possibility of revoking the driver’s Italian citizenship.

The driver is likely to face charges of kidnapping, attempted mass murder, causing a fire and resisting arrest.

Firefighters and police officers stand by the gutted remains of the bus in San Donato Milanese, near Milan credit: Ansa

Prosecutors said he could also be charged with terrorism offences.

Thousands of migrants, many of them West Africans, have drowned in the Mediterranean in recent years.

So far this year, the death toll is 282, but that comes after a dramatic reduction in the number of migrant boats setting out from Libya.

The traffic has slowed considerably after the EU beefed up the Libyan Coast Guard – which has been accused of human rights abuses – and Italy’s populist government decreed last summer that it was closing its ports to NGO vessels that rescue asylum seekers.

Last year, nearly 2,300 migrants and refugees died, according to the UN.

Sign up for your essential, twice-daily briefing from The Telegraph with our free Front Page newsletter.