The crash happened on Tuesday night in the central Iranian province of Yazd and was due to a defective braking system, Reuters reported, citing a preliminary police investigation.
Another 23 passengers were injured, seven of them critically, the province's crisis management director told state TV.
The pilgrims were on their way to Iraq's holy city of Karbala to commemorate one of the biggest events in the Shia calendar.
Some 53 people are believed to have been on the bus at the time of the crash, as reported by Pakistan's Dawn News, including pilgrims from Larkana, Ghotki and cities in Sindh.
Eleven women and 17 men are among those who died in the crash, according to the crisis management director.
The bus caught fire in front of Dehshir-Taft checkpoint in Iran, around 681km (423 miles) south of the capital Tehran, according to reports by local media.
The pilgrimage, known as Arbaeen, marks the end of a period of 40 days of mourning for Imam Hussein, the grandson of the Prophet Mohammed.
Some two million Shia Muslim pilgrims are currently taking part.
Iran is notorious for its poor traffic safety record, with some 20,000 deaths annually due to accidents.
bbc