Joe Ousalice, 68, said he had a medal for long service and good conduct confiscated when he was discharged after revealing his bisexuality before a court martial in 1993.
He was "treated in a way that would not be acceptable today" and will have the medal returned to him, said a Ministry of Defence spokesman, who also apologised for his treatment.
The spokesman added: "We accept our policy in respect of serving homosexuals in the military was wrong, discriminatory and unjust to the individuals involved."
Gay people were not allowed to serve in the military until a rule change in 2000.
Mr Ousalice, who had an 18-year naval career, is a former radio operator who served in the Falklands War and the Middle East, as well as six tours of Northern Ireland.
He told ITV News his medal was cut from his tunic with a big pair of scissors and that he had to resort to "pinching food from farmers' fields" in order to survive.
He said: "An SA came in with a pair of scissors, a big pair of scissors, grabbed hold of the medal off my tunic and just cut it off.
"It left me devastated, I didn't know which way to turn."
Ms Ousalice continued: "Shortly afterwards, they kicked me out and without a leave I'm back out in Cornwall, I've got a mortgage and a house out there, I've got no money coming in at all."
"All my money had been paid, you know paying for solicitors fees, so I had no money saved whatsoever and I resorted to pinching food from farmers' fields to live."
At the 1993 hearing, he was cleared over accusations that he had had been in bed with another sailor.
The MoD said the medal will be returned to Mr Ousalice in person.
It is understood the MoD is putting in place a scheme to return other medals to veterans who were stripped of them in similar circumstances.