Help Please,

I have just attacked a Sassanid city with a large army consisting of Heavy infantry , Dessert Archers a three Star general and finally units of limenatei spearmen. ( I'm playing the Eastern Romans)

Defending army:
Peasants, Mountain Slingers and One unit of Immortals

Well I seige the city, attack with seige towers, and ladders, I kill all the defenders on the wall ( mainly peasants and Slingers) I capture the gatehouse and all the surrounding towers. When I move my infantry towards the town square ( with archers giving covering fire) they are then attacked by a single unit, The enemy 2 star general and his immortals ( 85 of them), These charge into my infantry and wipe them out to a man - without loss to themselves! My archers have fired volley after volley into them again no casualties!!! The infantry behind throw their pilla but again 1 or 2 casualties are sustained by the immortals. This one unit destroys my entire stack of troops what can I do.

I have attempted this assault about 5 times now trying different tactics but I cannot kill this unit.
Can someone please help?