A 23-year-old man has been charged after allegedly punching a taxi driver in Baldivis.
The man allegedly started arguing with the driver during a taxi drive in the early hours of Saturday morning before punching him.
The taxi driver was able to stop the car at a service station on Leary Road in Baldivis before the man allegedly assaulted him again.
The victim fell to the ground where he was allegedly assaulted for a third time.
The 65-year-old driver was taken to Royal Perth Hospital by ambulance.
The accused man allegedly crossed the road to another service station where he threw food at staff and smashed an advertising screen.
The 23-year-old man from Falcon has been charged with aggravated robbery, aggravated assault with intent to do grievous bodily harm and robbery.
He is in custody and will appear in the Perth Magistrates Court tomorrow.

Locals urged to look out for man who removed electronic monitoring device
Four charged over brutal Warnbro home invasion allegedly linked to illicit tobacco trade
WATCH: Whale beached at Long Point
City of Rockingham records steep increase in animal cruelty complaints related to untreated medical conditions
Accused dirt bike hoons charged by Mandurah Police
Heavy rainfall, thunderstorms to lash Mandurah down to Busselton
Drivers escape serious injury after West Pinjarra, Baldivis crashes
Police investigate stabbing of two men at Warnbro home
Shark sighted in Dawesville Channel
