Tim Robinson, 54, slipped while walking under Golden Cap, east of Lyme Regis on the Jurassic Coast on Saturday.
After crawling for three-quarters of a mile (1.2km), he was found by his wife who had become concerned for his welfare.
A coastguard statement said it was "quite an ordeal" for Mr Robinson.
The coastguard said Mr Robinson had been walking on rocks on the western end of the beach at about 16:30 GMT when he slipped and injured his leg.
With no means of calling for help, he dragged himself off the rocks back on to the beach and then crawled in the darkness towards Seatown.
He was eventually discovered by his wife who had gone to look for him and she raised the alarm. The couple, from the Derby area, were on holiday in Bridport.
The coastguard rescue team saw "faint torch lights" on the beach and crew from an RNLI lifeboat swam ashore to reach Mr Robinson.
With a rescue helicopter unavailable due to fog, he was transferred on to the lifeboat and taken to Lyme Regis from where he was taken by ambulance to hospital in Dorchester.
Mr Robinson, who is a full-time member of the Territorial Army, said: "I just slipped on a rock and have two fractures of the right leg. Everyone who helped me was just terrific."
RNLI helmsman Jon Broome said: "His military background came to the fore. He found some sticks and used them to get to the beach. He then crawled on his hands and knees for a good two hours.
"The position he was in wasn't easy to get to. It was tricky, but you want to look after the guy as best as possible."
The coastguard statement said people should take a fully charged smartphone when walking on the coast.
A man crawled and staggered with a broken leg for more than two hours after falling from rocks on the Dorset coast.