The bus erupted in flames early Friday as it travelled along a highway near Kurnool district in Andhra Pradesh state, senior police official Vikrant Patil said.
The fire spread within minutes, trapping dozens of passengers, many of whom were asleep.
Some passengers broke windows and escaped with minor injuries, while others were burned to death before rescuers arrived, Patil told The Associated Press.
Eighteen people managed to flee the burning vehicle and are receiving treatment for injuries. It is not yet clear if others escaped, police said.
According to Patil, the motorcycle struck the rear of the speeding bus and became lodged underneath, dragging for some distance and sparking a fire that ignited the bus’s fuel tank.
“As the smoke started spreading, the driver stopped the bus and tried to put the fire out using a fire extinguisher, but the fire was so intense he couldn’t control it,” Patil said.
The bus was completely gutted in the blaze, and the motorcyclist also died at the scene.
A forensic team is investigating the incident.
The bus, carrying 44 passengers, was travelling between Hyderabad in Telangana state and Bengaluru in Karnataka.
The crash occurred in Chinnatekuru village near Kurnool, about 210 kilometres (130 miles) south of Hyderabad.
Prime Minister Narendra Modi and Andhra Pradesh Chief Minister N Chandrababu Naidu expressed condolences to the victims’ families.
The tragedy was the second fatal bus fire in India in less than two weeks. Earlier this month, a suspected short circuit caused a blaze on a passenger bus in Rajasthan, killing at least 20 people.