A 33-year-old Kalamunda man has been charged over the murder of Michael Paul Pruiti.
Major Crime Squad officers have also charged a 32-year-old Maida Vale man with being an accessory after the fact.
Both men will face the Perth Magistrate's Court this morning.
A 19-year-old Pickering Brook man remains in custody and is helping police with the investigation.
Mr Pruiti, of Lesmurdie, had not contacted family or friends, touched his bank accounts or used his phone since October 26, when he was last seen in Lesmurdie.
The body of the 31-year-old labourer was found in thick bush in Karragullen on December 13.
Mr Pruiti's family made an emotional appeal last week and said they would never give up hope.