The accident happened opposite Jerusalem Farm in Pencaitland just after 7am yesterday. Only one car was involved.
Firefighters using hydraulic cutting equipment removed the roof from the car to release the man, who is thought to be around 45 years old.
He was taken to the ERI by ambulance. His injuries are not thought to be life-threatening.