i'm at war with the French right now

the current battle is the following setup:

my units:
2 Units of Peasants
2 Units of Saharan Cavalry
4 Units Ghulam Bodyguards
1 Unit Abyssian Guards
4 Units Nubian Spearmen

Total men for me: 1005


enemy units:
2 Units Hobilars
1 Unit Feudal Man-at-Arms
1 Unit Mounted Sargeant
1 Unit Feudal Sargeants
3 Units Spearmen

Total men for enemy: 755

everytime i play this battle, i get owned. my question is: why? i thought spearmen beat cavalry? well, not in this battle. my spearmen ALWAYS lose to the Hobilars or Mounted Sargeants i do not understand why this is.

some one please tell me how i am supposed to WIN this battle, exactly. all my guys always rout about 2 minutes into the battle :(