At least nine people were hurt, witnesses and al-Sadr fighters said.
Flames and smoke rose above the building, and secondary explosions could be heard. Columns of smoke were seen rising from the mosque, Aljazeera's correspondent reported.
Riyadh Musa, a fighter in al-Sadr's al-Mahdi army, who had been sleeping in the compound, said he heard a "whoosh of a missile in the air" and a strong thud when a projectile hit the storage area.
"I'm sure it was the Americans who did it," he said. "We have no other enemies."
A spokesman for the US-led occupation said no forces were near the mosque at the time of the blast. Iraqi police took small arms fire when they tried to approach to see what was going on after the explosions took place, the US military said.
The mosque had been the site of nearly daily clashes between American troops and al-Sadr's forces. However, the site had been peaceful since Thursday under a deal meant to end the fighting.
Under the plan, al-Sadr's al-Mahdi Army is supposed to pull back from the Islamic shrines in Kufa and its twin city Najaf and hand over security to Iraqi police.
The US army acceded to a request from the local governor to keep US troops away from the Kufa mosque, where al-Sadr preaches, to give Iraqi security forces a chance to ease tensions.
Muqtada al-Sadr commands wide
Al-Mahdi army members were gathering outside the mosques on Monday, some armed with rifles, and stopped reporters from approaching the mosque.
At the Furat al-Awsat hospital in Kufa, Muhammad Abd al-Kadhim, a nurse, said that nine people were brought in with injuries from the explosions, mostly burns. The injured included both civilians and militiamen, he said.
However, the number of the injured may be higher since the al-Mahdi army is known not to take its injured to the local hospitals.
One of the fighters in the hospital was shouting at reporters and officials, threatening them not to release any information.
Elsewhere in Iraq, three Arabs, including a member of the former Iraqi Baath regime, were killed in two separate attacks in the northern ethnically-divided city of Kirkuk, police officials
"Masked men fired eight bullets into 45-year-old Shamal Muhi ad-Din, a former Baath official, at his house in Kirkuk's Hussein neighbourhood," police chief Turhan Yusuf told AFP.
In a separate incident, police colonel Sarhad Qadir, said "the bodies of two Arab brothers, Sattar and Basek Saleh, aged 25 and 28 respectively, were found in the street riddled with bullets and with their hands tied."
"Some witnesses said the two brothers were abducted by Kurdish fighters and whisked away in separate cars," he said.
The bodies were found in the al-Uruba neighbourhood in eastern Kirkuk which he said was once a Kurdish neighbourhood that had been "Arabised" under Saddam Hussein.
Arabs, Kurds and Turkmens live uneasily alongside each other in the oil-rich city which has been the scene of frequent clashes.