State news agency SANA said the first blast was caused by a car bomb that detonated at a bus station near the shrine.
It said two suicide bombers then detonated their explosive belts when people gathered at the scene.
The eyewitnesses said the blasts caused massive damage, shattering windows and ripping a huge crater in the road.
Smoke rose from the twisted carcasses of more than a dozen cars and a bus damaged in the blasts, as ambulances ferried away the wounded and firefighters worked to put out blazes started by the bombings.
It has continued to attract pilgrims from Syria and beyond, particularly from Iran, Lebanon, and Iraq, throughout the war, and has been targeted in previous bomb attacks.
In February 2015, two suicide attacks killed four people and wounded 13 at a checkpoint near the shrine.
Also that month, a blast ripped through a bus carrying Lebanese pilgrims headed to Hazrat Zainab (RA), killing at least nine people, in an attack claimed by Al-Qaeda affiliate Al-Nusra Front.
The area around the shrine is heavily secured with regime checkpoints set up hundreds of metres away to prevent vehicles from getting close to the shrine of Hazrat Zainab (RA).
According to the Syrian Observatory for Human Rights, members of Lebanon’s powerful group Hezbollah are among those deployed at the checkpoints.
The Britain-based monitor said 47 people were killed in the blasts, including a car bomb that targeted a checkpoint, and included non-Syrian militants without specifying their nationalities.
Hezbollah is a staunch ally of Syria’s President Bashar al-Assad and has dispatched fighters to bolster his troops against the uprising that began in March 2011 with anti-government protests.
More than 260,000 people have been killed in Syria’s conflict, which has also displaced over half the country’s population internally and abroad.