A 27-year-old man is accused of assaulting a Brisbane bus driver and an elderly passenger who attempted to halt the attack.

A man has been charged after he allegedly attacked a Brisbane bus driver and turned on an elderly passenger who tried to intervene.

The bus driver suffered serious facial injuries in the attack in Capalaba on Saturday night.

Police say a 70-year-old passenger who tried to help the driver was also assaulted.

Only the driver needed hospital treatment.

A 27-year-old man has been charged with assault occasioning bodily harm, serious assault and public nuisance. He is due in court on Monday.