Police found the 49-year-old deceased man at a home on Hampton Road in the city of Fremantle on Tuesday night.
Officers said a 53-year-old man who was known to the man was arrested later that night.
He has since been charged with one count of murder and is due to appear in Fremantle Magistrates Court today.