The elves and rats were the defenders, setting up a battlefield broken by two hills and four large areas of broken terrain. The elves deployed pretty poorly, with their most effective combat (the night elf legion) unit taking up a position behind the much slower and larger unit of undead thralls. Thus, while the pointy-eared elves slowly pulled themselves out of the self-dug hole, the pointy-nosed ratmen surged forward towards the halfling line.
Despite nominally being the attackers, the halflings took up positions on their own side of the broken ground (turnip fields as it turned out), allowing the ratmen to cross it if they chose. Which they did. The battle then mostly played out as a ratman offensive against the withdrawn halfling line, while the humans surged forward to tackle the elves while their line was still in disarray.
The ratmen were far more capable than the halflings in melee, but the stunted farmers managed to kill the great rat with their massed archery before the lines closed. The fact that we were using smaller armies, meant that we had less characters in play. An army breaks when all characters have been killed or fled the battle; a few turns, and two lucky rolls later, and the last ratman character was dead and the vermintide fled from the table.
On the far side of the battlefield, the human heavy cavalry and flame-throwing battle wagon managed to make short work of the night elf spider riders. However, while that was going on, the elves' undead thralls engaged the human medium infantry while the elvish legion maneuvered behind. The human's angel flew to attack the end of the ratman line, but was then charged in the rear by elvish crossbowmen. In the end, the elves and humans fought each other to a mutual destruction - both forces losing more than 50% of their army at the end of the same turn.
I think the elvish performance was evidence that deplorable and much-ribald deployment decisions do not necessitate a total disaster. The elves also suffered from command and control issues throughout the game which hampered their attempts to redeploy. Despite that, they ended up pulling a fairly respectable result from the jaws of ignominy.
The humans did fine, except for the angel charge (on my bad recommendation). There were a couple of badly chosen match-ups - they certainly had a mobility advantage over the undead thralls and could have chosen to avoid them throughout, but the heavy cavalry were smashing (pun intended) and the flame-thrower wagon was so cool!
The ratmen clearly did not anticipate the halfling hellfire or their warlord would never have charged unsupported against the centre of the halfling line unsupported. The halfling plan in contrast was pretty boring, but in character for halflings. And as the last army standing, it clearly paid off this time.