Indian authorities said the bus was travelling from Mecca to Medina when it struck a diesel tanker on a highway.
VC Sajjanar, police commissioner for Hyderabad, said the crash was “deeply distressing.”
He said preliminary information showed 46 people were on board and “only one person survived.”
He added that most victims were from two families.
Indian diplomats and politicians issued condolences over the tragic incident.
Prime Minister Narendra Modi wrote that he was “deeply saddened” and said his thoughts were with the families who lost relatives.
He added that he was praying “for the swift recovery of all those injured.”
The Indian consulate in Jeddah said it set up a control room to provide helplines.
Transporting worshippers between holy sites in Saudi Arabia has at times been hazardous, especially during Hajj, when heavy bus traffic causes congestion.
Millions also travel to Saudi Arabia for Umrah outside the Hajj season.
The Saudi Ministry of Transport did not respond to a request for comment.
Pilgrimages remain a key part of Saudi Arabia’s expanding tourism sector, which the government hopes will reduce reliance on fossil fuels.
More than two million Indian nationals live in Saudi Arabia and have long contributed to its labor market and remittances.
Saudi Arabia and India maintain longstanding ties.
India’s growing economy relies heavily on petroleum imports, and Saudi Arabia is its third-largest supplier, according to the Indian Ministry of External Affairs.