The crash happened around 6.40pm outside the Co-op store and involved a silver Vauxhall Corsa, registered to a man from Portland, and a blue Toyota Corolla, registered to a man from Weymouth.
One of the drivers was cut free by Dorset fire crews and taken to hospital by ambulance with a suspected neck injury.
A resident, who did not wish to be named, said: “I saw our community police officer in the road outside directing the traffic away – it’s a one-way system so they had to put a diversion in place.
“The emergency services dealt with it very quickly.
“I saw one of the cars having its roof taken off by firefighters.
“The community support officer said it was a suspected neck injury and the scene looked worse than it was.”
A Dorset Police spokesman said: “At 6.39pm on Saturday two vehicles were involved in a minor traffic accident. One of the drivers possibly had a neck injury.
“The ambulance service made the call into us.
“The collision involved a silver Vauxhall Corsa registered to a man from Portland and a blue Toyota Corolla registered to a man from Weymouth.”