Otto's victory came at a critical time. Many decades of Magyar raiding had highlighted the inability of the later Carolingian kings of Germany to demonstrate that they were more than kings in name. Moreover, by using siege engines to attack the walls of Augsburg on August 8 – 9, the Magyars demonstrated a partial adoption of advanced western techniques of war. A victory at Augsburg would open a new and fearful phase of the conflict where walled cities would no longer be safe.
The Magyar invasion came at a time when Otto had just put down a revolt in Franconia. There were some stirrings of unrest among the Polabian Slavs on the lower Elbe, so Otto would have to leave most of his Saxons at home. Otto called up about 8,000 men to fight off the invasion. The eight 1,000-strong legiones (divisions) included three from Bavaria, two from Swabia, one from Franconia and one from Bohemia under Prince Boleslav I. The eighth division, commanded by Otto and slightly larger than the others, included Saxons, Thuringians and the king's personal guard. In an apparent move to block the Magyar retreat route, Otto crossed the Lech north of Augsburg and moved down the east bank to put himself between the Magyar horde and Hungary.
According to the chronicler Widukind of Corvey, Otto "pitched his camp in the territory of the city of Augsburg and joined there the forces of Henry I, Duke of Bavaria, who was himself lying mortally ill nearby, and by duke Conrad with a large following of Franconian knights. Conrad's unexpected arrival so encouraged the warriors that they wished to attack the enemy immediately." The arrival of Conrad, the exiled duke of Lotharingia (Lorraine) and Otto's son-in-law, was particularly heartening because he had recently thrown in his lot with the Magyars, but now returned to fight under Otto; in the ensuing battle he lost his life. A legion of Swabians were commanded by duke Burchard, who had married Hedwig, the daughter of Henry, the brother of Otto. Also among those fighting under Otto was Boleslav of Bohemia. About 3,000 Saxons were commanded by Otto himself.
With his in-laws and allies, Otto had managed to gather around him approximately 10,000 heavy cavalry ("eight legions in all" being Widukind's figure), in order to fight against the 50,000 or so Magyar light cavalry, according to chroniclers; modern historians assess the forces at figures that range as low as about a tenth of these figures. After Otto approached the Magyar force, their horsemen crossed the Lech unexpectedly; he was suddenly outflanked by a number of Magyar cavalry, so that his smaller force was caught in between two much larger forces, which could have led to his encirclement and defeat. However, the flanking Magyar force dismounted to loot the German baggage train; Otto was able to send part of his force to sweep over these dismounted troops, resulting in their annihilation.
With this accomplished, his combined force charged at the Magyar line. Despite a volley of arrows from the Magyars , Otto's army smashed into the Magyar line, and began to sweep over it. The Germans were able to fight hand-to-hand with the Magyars, giving the nomads no room to use their favorite shoot-and-run tactics. Bulcsú feigned retreat with part of his force, in an attempt to lure Otto's men into breaking their line in pursuit, but to no avail. The German line maintained formation and routed the Magyars from the field. The German forces maintained discipline and methodically pursued the Magyars for the next couple of days, rather than dispersing jubilantly, as German forces had been known to do. "Some of the enemy sought refuge in nearby villages, their horses being worn out; these were surrounded and burnt to death within the walls." The captured Magyars were either executed, or sent back to their ruling prince, Taksony, missing their ears and noses; on their return the Hungarian dukes Lél, Bulcsú and Sur, who were not Árpáds, were executed. "Never was so bloody a victory gained over so savage a people," was Widukind's conclusion.
Otto deployed his divisions in a single line, without reserves. From right to left the line was held by Duke Conrad's Franconians, three Bavarian divisions, Otto's division and two Swabian divisions. The Bohemian division defended the camp. The Magyars mounted a rapid frontal attack in a typical horse archer swarm, raining arrows among the German knights, but this was only a feint. The main attack circled behind Otto's host and struck the camp, routing Boleslav's knights. The Magyar flanking force then attacked the two Swabian divisions from the rear while their compatriots attacked in front.
The Swabians were disordered by the double attack, but they did not panic. Instead, they fell back fighting toward the king's division. Otto ordered Conrad to pull his division out from the extreme right and bring it behind the German line to help the Swabians on the enveloped left flank. Conrad brilliantly executed the difficult maneuver and his knights charged the Magyar flanking force. Pinned between Conrad and the Swabians, these horsemen were cut to pieces. Meanwhile, Otto and the Bavarians had been successfully holding off the enemy frontal attack. Once Conrad disposed of the flanking force, Otto led a general advance. The better-armored German knights drove the Magyars inexorably back toward the Lech. Conrad was killed by an arrow.
Seeing the day going against them, the Magyars bolted for their camp, fleeing across the river. Many were caught and killed as they urged their tired horses up the steep and slippery west bank of the Lech. After the Germans stormed and plundered the Magyar camp, the raiders set out for Hungary. They had to swing a long detour south and east, during which a number of the smaller war parties were overtaken and slaughtered by the enraged local people.
On the field of battle the German lords raised Otto on their shields in the Germanic manner and proclaimed him Emperor. A few years later, on the strength of it, Otto went to Rome and had himself crowned Holy Roman Emperor by Pope John XII.
Medieval numbers should be taken with a dose of salt. The 8,000 German and Czech knights cited by Beeler are close to the maximum that could be supplied by 10th century logistics in medieval Central Europe. It is possible that the Magyars and Otto's army were of a similar size. The 50,000 given by the chroniclers is unlikely. Otto was a shrewd general and it would have been reckless for him to take on an army five times larger than his own. The 35,000 Magyar dead is also unlikely. The Magyars rode faster horses than the more heavily encumbered German knights and had a speed advantage in a normal situation. When large numbers of Magyars were killed, it was likely because they were caught between Conrad and the Swabians, trapped by the steep river bank or surprised by the local militias. The casualties stated for both sides may be too large by a factor of ten.