A man has been charged over a violent Sunday afternoon spree involving the assault of four strangers in three separate incidents in Sydney's west.

Police allege the 35-year-old punched a 46-year-old man in the face in a bar at Punchbowl about 1.30pm.

He then bashed a 72-year-old man in the same bar, leaving him requiring stitches to his head.

Two hours later the accused man allegedly punched and kicked a 27-year-old man in the head several times in a car park at Campsie before fleeing, leaving the victim in a serious condition in St George Hospital.

A short time later he shoulder-charged a 46-year-old after being kicked out of a pub in Belfield.