Police closed the area around the twin golden dome mosques and blocked all roads leading to the sites, which include tombs of Imam Hussein and his half brother, also a Shiite saint.
Ali Hassan, 30, a clothing merchant who was wounded in the blast, said he was standing near his stall "when I heard a big explosion and I felt strong fire throwing me in the air."
"The only thing I know is there was a big explosion and I saw bodies flying in the air," said Hassan Khazim, 36, who was wounded in the face. "All the tight security measures designed to protect us were in vain."
The predominantly Shiite city of Karbala, 80 kilometers (50 miles) south of Baghdad, enjoys tight security. Monday's attack was the deadliest in Karbala since a suicide car bomber killed at least 63 people on April 28, 2007.
Explosions also struck earlier Monday not far from the capital's heavily fortified Green Zone, shortly after Cheney arrived. Helicopter gunships circled central Baghdad.
Despite several high-profile bombings, violence levels have dropped sharply in recent months with a US troop buildup, a Sunni revolt against al-Qaida in Iraq and a cease-fire by radical Shiite cleric Muqtada al-Sadr's Mahdi Army militia.
But noting the fragility of the security gains, Cheney warned against large drawdowns of American troops, saying it is very important that "we not quit before the job is done."
McCain, the presumptive Republican presidential nominee who has linked his political future to military success in Iraq, also promised to uphold a long-term military commitment to the country so long as al-Qaida in Iraq is not defeated.