It was the third high-profile attack by militants fighting Indian rule in the region in three days.
Wednesday's blast near a busy road outside the headquarters of the state-run Jammu and Kashmir Bank in the heart of Srinagar was heard across the summer capital of Indian Kashmir.
The road was littered with damaged vehicles, mangled steel, footwear and pools of blood, witnesses said.
Police said Usman Majid, a provincial lawmaker, was among the 30 people wounded.
On Tuesday, Muslim militants threw a grenade and opened fire at a political rally in Indian Kashmir, killing four people and wounding at least 60, including a former state minister and two senior police officers.
Wednesday's attack came as India and Pakistan were set to open their fifth crossing point on their militarised frontier to allow relief for victims of the 8 October earthquake to flow across a ceasefire line.
More than 45,000 people have been killed in the Muslim separatist revolt in Indian Kashmir, the largely Hindu country's only Muslim majority state.
Despite the peace process between the two nuclear rivals, India says Pakistan has not done enough to stop anti-Indian Islamic militants operating from its soil.