Amelia Bambridge was discovered in waters near the Thai border, said Chuon Narin, police chief of Preah Sihanouk province.
“We found the body of the missing British woman,” Narin said, adding it would be taken to nearby Sihanoukville.
He did not speculate on what happened to her after she disappeared from a beach party on October 24, but earlier this week he said she may have drowned.
The discovery brings to a tragic end a desperate search involving more than 100 members of the police, army, navy and Bambridge’s relatives.
It started when Bambridge did not check out of her hostel following a party that went into the early hours on the beach in Koh Rong, an island popular with backpackers and full of budget guesthouses and bars.
Police later found her bag and phone in the area where she was last seen.
Her family members scrambled to the island to help with the investigation and have also been active on social media asking travellers for possible clues.
The mystery deepened after police held six men for questioning but they were found not to be involved and released.