Police were called to a Tesco store on Olive Bank Road in Musselburgh, East Lothian, at 10.25am.
The man, who was on foot, was taken to Edinburgh Royal Infirmary with serious injuries, a police spokesman said.
An ambulance, rapid response car and the specialist emergency vehicle Medic One attended, a spokeswoman for the Scottish Ambulance Service said.
"He appeared to have sustained head and leg injuries and was taken to Edinburgh Royal Infirmary by Medic One," she added.
The man is understood to be in his 50s.
A Tesco spokeswoman said: "We can confirm there was an incident at the store and we are helping the police with their investigation."