The man was allegedly attacked by a 37-year-old man and his eight-year-old son, who police said threw the first punch in a random, unprovoked attack.
“I’m absolutely horrified by this incident,” Senior Sergeant Daniel Cochrane said.
The elderly man, identified only as Peter, was leaving Rockingham Cruising Yacht Club with a friend last Friday night.
They had been at a dance and sing-a-long, which has been a weekly tradition for the man for 15 years.
Police said the child punched the 91-year-old several times.
As the man struggled to defend himself, the child’s father allegedly took over and landed several more blows.
The grandfather was rushed to hospital with a torn eyelid and fractures to his face, which required stitches.
“The victim in this matter has likely experienced some life-changing injuries which will have a significant impact on him and his family,” Cochrane said.
News of the alleged crime shocked Premier Mark McGowan.
“Normally it’s a very peaceful and pretty nice area. I go there all the time,” McGowan said.
The man’s family said they don’t understand why he was targeted.
“There was no warning… no previous interaction or conversation between him and the people who assaulted him. He had never seen them before,” the man’s daughter told 9News.
“We are all so confused, especially dad, why the assault happened.
“He is a lot more cautious when he is out and about.”
The 37-year-old man fronted court on Friday morning. He faces four charges including assault occasioning bodily harm. Prosecutors are looking at upgrading that charge to grievous bodily harm.
The eight-year-old boy has not been charged as the age of criminality is 10 in Western Australia.