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 what happened to her after she disappeared from a beach party on the island of Koh Rong on Oct 24, but earlier this week said she may have drowned.
Brother Harry Bambridge confirmed in a Facebook post that he had identified the body.
“It’s my little sister Amelia,” he wrote.
“There's nothing more I wanted (than) to bring her back alive,” he said. “I’m sorry to you Amelia Bambridge the round is on me when we meet again in heaven.”
The discovery brings a tragic end to a desperate search involving more than 100 members of the police, army, navy and Bambridge’s relatives.
Bambridge had befriended other travellers, and the alarm was raised after she did not check out of her hostel following a party that went into the early hours on the beach.
Police later found her bag and phone in the area where she was last seen at around 3:30am.
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.
Divers searched the waters and others combed the jungle, but for days nothing substantive was found.
The mystery deepened after police held six men for questioning but they were found not to be involved and released.
Located in the Gulf of Thailand, Koh Rong is popular with backpackers.
It is a two-hour boat ride from the coast and draws budget travellers with its cheap accommodation, laid-back beach bars and idyllic sunsets.
But it has also undergone development in recent years, in keeping with a construction and casino boom in nearby Sihanoukville.
Cambodia has long been a stop for tourists travelling around Southeast Asia.
Though generally safe, crimes involving foreigners have grabbed headlines in the past.
This month a Cambodian court charged three men with gang-raping a French tourist in the coastal province of Kampot after offering her a ride in their car.
In 2013, Kampot town was rocked by the discovery of the mutilated body of a 25-year-old Frenchwoman floating in a river.
A Belgian was charged with the alleged rape and murder of the woman, but released on bail due to a lack of evidence.