The accident in southern Morocco is the worst in the North African kingdom since September 2012 when a bus plunged into a ravine, killing 42 people.
MAP news agency, quoting officials, said at least 31 people were killed and nine injured, two in serious condition, in the early morning collision near the city of Tan-Tan.
"A majority of the victims are children aged eight to 14," a regional official from the sports and youth ministry told AFP.
They said the bus was transporting the young athletes and their coaches from a competition in Bouznika, a beach resort in the north between the capital Rabat and Casablanca.
More From This Section
Pictures posted on YouTube and on several news websites showed the mangled wreckage of a bus on fire.
Medias 24 news website said 14 youths who had taken part in a national sports event involving Moroccan schools were on the bus, accompanied by three adults.
Mohamed Azzaz, a health official in the Guelmim-Smara region where Tan-Tan is located, said at least eight people out of the 50 passengers on the bus were hospitalised.
Road accidents are frequent in Morocco, where officials say about 4,000 people are killed each year -- equivalent to about 11 each day -- in a country of 34 million inhabitants.
In 2010, Morocco imposed tougher driving laws.
Authorities have blamed a majority of road accidents on human error, including speeding.
The World Health Organisation says that road accidents cost Morocco one billion euros (USD 1.05 billion) each year, or about two per cent of the kingdom's gross domestic product.