A 21-year-old man has been charged after allegedly attacking a taxi driver and robbing him in Essendon on Saturday night.

Police said a taxi driver was allegedly attacked after driving a couple, both aged in their 20s, from South Melbourne to Essendon around 11.30pm.

The taxi driver told police he drove the couple to Fitzgerald Road, Essendon where they began to argue over who would pay the fare before they walked off without paying.

The taxi driver claimed he called out to them requesting they pay the outstanding amount.

The male passenger then allegedly attacked the driver, punching him repeatedly, ripping his turban from his head and pulling his heard.