The 44-year-old man fell to the ground unconscious after he was punched in the face at the northern end of South Beach in South Fremantle about 2.35pm yesterday, according to police.
Police believe the victim did not know the man who punched him.
The victim was rushed to hospital with serious injuries, where he remains in the intensive care unit.
Police are investigating the attack.
Anyone with any information relating to this incident is asked to contact police.