All the dead and injured were taken to the nearby 100-bed Sehwan Hospital, which was overwhelmed the sudden influx of patients, Dr. Zahid Hussain told CNN.
More 200 people were injured in the attack, and many had been transferred to bigger hospitals in other cities of Sindh province, he said.
Thousands of worshipers, including families with their children, had gathered at the more than 800-year-old shrine for the Sufi ritual of Dhamal, which involves music, chanting and prayer.
The Islamic State Khorasan, ISIS' affiliate in Afghanistan and Pakistan, claimed responsibility for the attack in a phone call to CNN.
The Amaq news agency, which is affiliated with ISIS, reported the attack was carried out by a suicide bomber in an explosives vest.
Prime Minister Nawaz Sharif called the attack "brutal."
"I have directed all the state institutions to mobilize all resources for rescue and relief after this brutal terror attack on Lal Shahbaz Qalandar's shrine," the Prime Minister said in a statement.
The spokesman for the Pakistani military blamed operatives from Afghanistan for a recent spate of attacks on the country.
The spokesman, Maj. Gen. Asif Ghafoor, tweeted: "Recent Ts (Terrorist) acts are being exec (Executed) on directions from hostile powers and from sanctuaries in Afghanistan. We shall defend and respond."
In another tweet, he urged the country to remain calm: "Your security forces shall not allow hostile powers to succeed. We stand for our nation."
Jamat-ul-Ahrar, a splinter group of Pakistan's Tehreek-i Taliban (TTP) -- also known as the Pakistani Taliban -- claimed responsibility for that attack in a statement emailed to CNN.
CNN's Sophia Saifi and Adeel Raja reported from Islamabad, with Ray Sanchez writing and reporting in New York. Journalist Saleem Mehsud also contributed to this report.