The Shanghai Metro Company blamed the accident on a signal failure - the same cause as a July high-speed train crash that killed at least 40 people and shook public confidence in China's vast rail network, prompting outrage.
There were no deaths from Tuesday's accident, but pictures posted on Chinese websites showed bloodied passengers, some lying on the floor apparently unconscious and others with head injuries.
A health official told a news conference that 271 injured were sent to hospital, of which 61 remained hospitalised and another 30 under observation as of Tuesday evening. The others had been discharged.
The metro company said 500 passengers had been evacuated from the trains.
Around 50 went to the nearby Ruijin hospital, where a doctor said most of the victims were only slightly hurt.
Four foreigners, two Japanese, one Canadian and one from the Philippines, suffered minor injuries.
The Shanghai government said it was investigating the accident and had set up a special team which would consult outside experts.
Shanghai, China's commercial capital, opened its first metro line in 1995 and currently has 11 lines covering more than 420 kilometres and carrying nearly five million passengers a day.