Many were on their way home after work, while others were eating snacks in the narrow and bustling streets around Mumbai's abandoned opera house when three bombs exploded, killing 21 and injuring more than 100.

As terrorism returned to the streets of Mumbai Wednesday, shoppers and commuters were thrown into panic and the city left in chaos as people feared a repeat of the terrorist attacks of 2008 in which 166 died.

Sandals were abandoned among the muddy puddles and potholes overflowing with steady monsoon rain; roadside food stalls were overturned in the gutter; and the mangled remains of a car stood with its doors hanging off.

"There was a lot of blood and I saw at least three people dead," said a gold dealer in Zaveri Bazaar, a renowned jewellery market in the south of Mumbai.

He said the death toll could have been worse if monsoon rains had not kept some people off the streets.

Another witness described two motorcycles exploding in flames and saw at least six bodies. "People were shouting, 'Help me, help me,' " the man said.

One explosion was reported in the Zaveri Bazaar, another in the Opera House business district and a third in Dadar district in the city centre.

Officials quickly confirmed the bombings as the work of terrorists, with immediate suspicion focused on Lashkar-e-Taiba, a Pakistani group that has attacked India in the past, as well as the Indian Mujahedeen, a home-grown extremist organization.

Improvised explosive devices were thought to have been used in the coordinated attacks, officials said, and at least one car and one motorbike were involved.

"This tactic is much more in line with those used by more amateurish groups such as the Indian Mujahedeen who have targeted crowded urban areas before," Stratfor, a strategic affairs think-tank, said in a statement.

Anti-terrorist commandos and National Investigation Agency officials flew into Mumbai, while cities across India, including Delhi, the capital, and Calcutta, were put on high alert as security forces prepared to deal with the possibility of further attacks.

Witnesses to the bombings, which happened just before 7 p.m. local time, described chaotic scenes as the explosions sent people scurrying for cover.

The first blast hit Zaveri Bazaar at 6: 54 p.m. Police said a bomb, hidden in an umbrella, tore through its jewellery shops and street stalls.

A minute later, a car bomb exploded in the Opera House business district.

"We heard a big blast. The building shook, the windows shattered. It was deafening," said Aagam Doshi, a diamond merchant who was at the scene of the Opera House explosion.

"We came outside, and the area was filled with black smoke. There were bodies lying all over the street, there was lots of blood. We saw many bodies missing arms and missing legs."

Survivors carried the wounded to taxis or hauled them on to the back of lorries.

The third bomb in 11 minutes of mayhem detonated in a taxi in Dadar, a central area where shattered glass littered the pavement as commuters hurried to the nearby railway station.

"It was a cowardly attack," said Ravinder Singh, 48, a shop owner. "These were innocent people. Poor as well as rich."

The bombings once again left the people of Mumbai, India's financial capital, having to cope with the horrific aftermath of a major terrorist attack less than three years after 10 terrorists laid siege to the city for 60 hours in November 2008.

That attack, which targeted two luxury hotels, a Jewish centre and a busy train station, killed 166 people and escalated tensions between India and Pakistan. Peace talks were suspended and resumed only recently.

India's home minister, P Chidam-baram, said the coordinated timing of the bombs was evidence of a terrorist attack but appealed to a frightened country to "remain calm and maintain peace."

Any suspicion that Pakistan was involved will destabilize already tense relations between India and its neighbour. New Delhi says Pakistan-based groups aid and train terrorists to carry out attacks against India, often with the support of the country's intelligence services, a claim Islamabad rejects.