Romans:
4 TCs
3 x 6 base legions, average, armored drilled etc...
1 x 4 base legion superior, skilled swordsmen, armored etc...
1 x 6 base auxilia, MF, average, lightspear, swordsmen, etc..
1 x 6 base auxilia, HF, average, lightspear, swordsmen, etc...
1 x 4 base cataphracts, average, lancer, swordsmen, etc...
2 x 4 base Alae, cavalry, average, armored, light spear, swordsmen, etc...
1 x 4 base auxilia, average, protected, bow, etc...
Germans
3 TC's
1 x 4 base Sarmatians, superior, armored, lancer, swordsmen, undrilled
3 x 4 base noble cavalry, superior, protected, lightspear, swordsmen, undrilled
2 x 6 base juvies, LF, unprotected, light spear, javelins, undrilled
6 x 8 base warbands, average protected, impact foot, swordsmen, undrilled
start: Romans put the legions in the center, the Roman left being cataphracts and HF auxilia, the Roman right being the remainder of the cavalry, and auxilia. Plan was to hold with the left and swing with the right.
Germans were a big mass of foot, with their left heavy on the cavalry including the sarmatians, and their right protected by a single unit of cav. Looks like the Germans have the same idea.

Both sides advance: The Roman left is going to be turned. There is still going to be a fight in the center.

The Roman left is indeed, turned. Eventually this auxilia unit got sandwhiched between a warband and the cavalry. The General didn't help. The Cataphracts kept bouncing off the warbands.

von Bredow's death ride: The German noble cavalry destroyed itself charging the Legionnaires. The Sarmatians charged home and got broken, (but no casualties and lived to fight another day). The supporting archers didn't have an effect. The Roman cav just visible at the top right is beginnig its pursuit of the German lights.
Charging heavy foot with even lancers just wasn't effective, and even these average legionnaires handily dealt with the superior morale cavalry.

The brawl in the center: The German cavalry has been seen off, and the right most legion has turned in (just visible at the top) the left most legion has been cut down to a man, and the legionary reserve (1 superior cohort) is filling the hole. These guys will cut their way through their opponents and into the green fields beyond. The cataphracts have now lost a base and will soon lose another and auto-break, and get destroyed.

Legions triumphant! The two right most legionary units have broken all their opponents and the German center has collapsed. Not visible, here, the German left has been turned at this point, the left most German cavalry broken and chased off the field, and the Roman cavalry closing on the German camp. We called it at this point, as the Germans were only 2 points from army rout, and there did not seem to be any way for them to retrieve the situation.

The German success on the Roman left was not enough, those units being too far out of position to influence the rest of the battle. The German foot, with rear support, took a while to break, but when they broke, it went bad very fast.
The Romans freely admit they benefited greatly from hot combat dice.