Sergeant Matt Lee, of Dunedin, said the 45-year-old man pushed a 63-year-old man into the street of the Great King St bus hub at 6pm on Wednesday.
The man allegedly straddled the victim and punched him in the head repeatedly and inflicted kicks to the torso.
When an 83-year-old bystander tried to intervene the offender punched him in the head as well.
The alleged attacker was still sitting at the bus hub when police arrived and arrested him.
The defendant appeared in the Dunedin District Court yesterday charged with injuring with intent to injure and assault. He was remanded in custody by consent without plea until next month.
The 63-year-old victim was treated by ambulance staff and transported to Dunedin Hospital.
Sgt Lee said the victim was known to the alleged offender but it remained unclear what provoked the attack.