Police say 53-year-old Elmars Kalejs was found lying next to his car with serious head injuries in April.
He was rushed to Royal Perth Hospital but eventually died from his injuries at the end of June.
Following his death, his daughter made an emotional plea for information to give the family closure around the grandfather’s death.
Homicide Squad have now charged a 48-year-old man from Cloverdale.
He’ll front court tomorrow.