In 58, Julius Caesar had invaded Central Gaul. The pretext had been the plan of the Helvetians to migrate to Aquitania, something that the Roman general considered unacceptable. After he had defeated the invaders, his help had been invoked against the Suebian warriors of Ariovistus, who were in the Elsace. According to Caesar, who informs us about earlier events in his Gallic War (1.31), there had initially been 15,000 of them, invited by the Sequani, who had felt threatened by the Aedui. The Germans had defeated the Aedui decisively in a battle at Admagetobriga, which appears to have taken place in March 60 (Cicero, Letters to Atticus, 1.19.2). Since then, they had received reinforcements and the grand number - which included women and children - was now 120,000. They were now demanding land from the Sequani.
Caesar decided to intervene. The Aedui were his allies, and if he wanted to conquer Gaul, he could not use German troublemakers west of the Rhine. At the same time, it was embarrassing to him, because as a consul, in 59, he had concluded a treaty with Ariovistus, who had received the honorific rank of friend (amicus). Negotiations proved futile, and Caesar marched to Besançon, the capital of the Sequani, which he occupied before Ariovistus could seize it.
Here, he gave his army some rest, tried to obtain information, organized his supply lines, and proceeded to the Elsace through the Vosges Mountains (perhaps along the route that is now called D486/D417), avoiding the Belfort gap. At some distance from the Rhine (15 miles, according to Gallic War, 1.53), the two armies met. The site has not been identified by archaeological finds, but may have been just north of modern Colmar. Ariovistus managed to outmaneuver Caesar: by placing his camp on the Roman supply line, he forced the Roman to fight, yet refused battle for several days, making sure that the Romans - who had occupied two camps - would be hungry.
Finally, however, Ariovistus believed the Romans were sufficiently exhausted, and battle was fought. Caesar's own account is our main source. The translation is by Anne and Peter Wiseman, and has been adapted.
Caesar, Gallic War 1.51-52
Next.day, leaving what seemed to me to be adequate garrisons in both camps, I formed up all my auxiliary troops in front of the smaller camp [on the left wing] in full view of the enemy. My legionary soldiers were weak in numbers by comparison with the Germans, so I wanted to use the auxiliaries to give a show of strength. Then, with the legions drawn up for battle in three lines, I marched right up to the enemy camp.
Now, at last the Germans were forced to bring out their troops. They formed them up, by tribes, at regular intervals - Harudes, Marcomani, Triboci, Vangiones, Nemetes, Sedusii, and Suebi. Then behind their line they arranged their carts and wagons, to rule out any hopes they might have of escaping by flight. On this barrier they included their women, who, weeping and with hands outstretched, implored their menfolk ... not to let them become slaves to the Romans.
I placed each of my five legates in command of a legion, and my quaestor at the head of the remaining one ... I myself began the engagement from our right wing, because I had noticed that that that was the weakest point of the enemy line.
When the signal was given, our troops made such a spirited charge at the enemy, and they rushed forward at us with such a speed and suddennes, that there was no time for us to hurl our javelins at them. These were jettisoned, and the fighting was with swords at close quarters. The Germans, however, quickly adopted their usual phalanx formation and withstood our sword thrusts. Many of our men actually jumped onto the wall of shields, wrenched the shields from the enemy's hands and stabbed down at them from above.
On the left, the German battle line was routed, but on the right, with sheer weight of numbers, they were pressing our men hard. Young Publius Crassus [son of the triumvir], who was in command of the cavalry and therefore able to move about more easily than the officers who were fighting in the line, saw what was happening and sent the third line up to help our troops in difficulties. So the battle swing once more in our favor.
The enemy all turned and fled, not stopping until they came to the Rhine, about fifteen miles away. There a few of them, trusting to their strength, did their best to swim across, or found boats and so saved themselves. Ariovistus was one of these; he came across a small vessel moored to the bank and escaped in that. All the rest were overtaken by our cavalry and killed.
There is another account of the battle, written by Cassius Dio (Roman History, 38.48-50. It differs from Caesar's story on one important point: Dio knows that on the day preceding the battle, the Romans offered battle, but returned to their camp when the Germans declined to come out. After they had returned, they were suddenly attacked by the Germans, who managed to reach one of the forts. Because of this success, which Caesar appears to have covered up, Ariovistus believed that he could safely accept battle. Dio's account may or not be correct.
However that may be, Caesar achieved his aim: the Germans were forced out of Gaul, which the Romans could now continue to conquer. He had thousands of captives to sell, and had defeated the Germans, which made him the equal of Marius.