There are a few potential problems there. The first, and most obvious, is that you fielded peasants. These are for garrisons only. You can take them into battle but only as a means to outnumber the enemy. all in all though, they are best avoided.

The next issue is that you had only 60 vikings to their 360. Your 20 Royal Knights would never be a match for them. The peasants and archers are a none entity as once the vikings give chase there's not alot you can do. Archers and Peasants haven't a hope in hell fighting in melee against them. The Viking unit is a very strong one for the early era, that is available quickly. It is in essence a more lightly armoured, non elite, higher morale version of Feudal Men-at-Arms with an armour piercing weapon. Personally I would have bribed them.

The final problem is the difficulty level. The enemy have a morale bonus over you when playing on expert.

Was your general of 2 stars or more?