В 7 часов утра сражение началось канонадой союзных батарей и наступлением войск Барклая-де-Толли на Вахау. На этом направлении Наполеон сосредоточил несколько крупных батарей и большие силы пехоты. После упорной борьбы войска Барклая-де-Толли овладели Либертвольтквицем, Вахау и Мекк-Клеебергом. Но дальнейшее продвижение русских было остановлено. Французы расположили на высотах между Вахау и Либертвольтквицем 100-орудийную батарею, которая открыла ураганный огонь. Русские войска вынуждены были отступить, потеряв 22 орудия. К 11 часам французы вернули все захваченные противником пункты. В это время центр Богемской армии пытался пересечь реку Плайсе, чтобы ударить в обход неприятельского фланга. Однако противоположный берег реки был весь усеян французскими орудиями и стрелками, которые метким огнем вынуждали противника к отступлению.
Первую половину дня на всех участках битва шла с переменным успехом. В некоторых местах союзникам удавалось захватить несколько участков обороны противника, но французы переходили в контратаки и отбрасывали их на исходные позиции. Только на правом фланге колонне Кленау удалось занять гору Кольмберг, а на левом Клейст ворвался в Маркклеберг.
Успехи первой половины дня окрылили Наполеона, и он сам решил нанести удар по Богемской армии, проведя мощную атаку четырьмя кавалерийскими корпусами Мюрата. Умело организовав оборону, французский император к 15 часам подготовил плацдарм для решительного наступления и прорыва союзного центра в направлении Госсы.
Первоначально скрытые от глаз неприятеля 160 французских орудий по приказу генерала Друо обрушили ураганный огонь на место прорыва. «Земля дрожала от нестерпимого оглушительного рева. Отдельные дома снесло, как ураганом; в Лейпциге за восемь верст звенели стекла в рамах». Затем началась массированная атака французской кавалерии и пехоты. Против 100 эскадронов Мюрата выстроились в каре несколько батальонов принца Вюртембергского, ослабленные канонадой Друо. Они открыли картечный и ружейный огонь и держались стойко. Однако французские кирасиры и драгуны, поддержанные пехотой, смели русско-прусскую линию, опрокинули гвардейскую кавалерийскую дивизию и прорвали центр союзников. Преследуя бегущих, они оказались в 800 метрах от ставки союзных государей. Этот ошеломляющий успех убедил Наполеона, что победа уже одержана. Властям Лейпцига было приказано звонить во все колокола в честь триумфа французского оружия.
Однако битва продолжалась. Александр I, раньше других поняв, что в сражении наступил критический момент, приказал послать в бой дивизию Раевского и прусскую бригаду Клейста. В интервалы между пехотой была выдвинута 112-орудийная батарея генерала Сухозанета. До подхода подкреплений французов сдерживала только рота русской артиллерии и лейб-казаки из конвоя Александра I. Затем в бой были брошены казаки Палена, несколько кавалерийских полков, русская гвардия и гренадеры из резерва. «В сем ужасном сражении, — вспоминал участник войны Орлов, — было одно роковое мгновение, в котором судьба Европы и всего мира зависела от твердости одного человека. Наполеон, собрав всю свою кавалерию, под прикрытием ужасной батареи, устремил ее на наш центр. Часть оного поколебалась и временно уступила отчаянному нападению; но корпус гренадер под командою Раевского, свернувшись в каре, стоял непоколебимо и, окруженный со всех сторон неприятелем, везде отражал его усилия. Сия твердость дала нашим время выстроиться и вскоре опрокинуть французскую кавалерию, которая принуждена была ретироваться под огнем непоколебимых гренадер, расстроилась и обратилась в бегство».
В этом бою генерал Раевский был тяжело ранен картечью в плечо. Барклай-де-Толли послал ему на помощь дивизию легкой гвардейской кавалерии, но она не успела развернуться в лаву и была опрокинута на марше французской конницей. Ядра падали уже в ставке Александра. Наконец Барклай-де-Толли бросил против врага тяжелую кавалерию, русскую и прусскую гвардии. После исключительно тяжелого боя эти части остановили французов и заставили их отойти на расстояние пушечного выстрела.
Из своей ставки на холме у Тонберга Наполеон видел, как пришли в движение резервы союзников, как свежие кавалерийские дивизии остановили Мюрата, закрыли брешь в союзных позициях и вырвали, по сути дела, из рук Наполеона.
Полный решимости одержать верх любой ценой до подхода войск Бернадота и Беннигсена, французский император отдал приказ пустить на ослабленный центр союзников силы пешей и конной гвардии и хотел снять с северной части позиции корпус Мармона. Однако неожиданная атака австрийцев на правый фланг французов — группа Мерфельда дошла до Делиц — изменила планы Наполеона и заставила послать часть гвардии на помощь князю Понятовскому, который с трудом сдерживал австрийские удары. Чтобы предотвратить удар во фланг, сюда же был брошен корпус Удино. После упорного боя австрийцы были отброшены, а сам граф Мерфельд попал в плен. Но зато был упущен момент для повторной атаки в центре.
В это время с севера к Лейпцигу подошла Силезская армия. Блюхер атаковал корпус маршала Мармона, который с 24 000 солдат сдерживал его натиск. Деревни Меккерн и Видерич в течение боя неоднократно переходили из рук в руки. Пруссаки показывали в этот день примеры поразительного упорства и мужества. В одну из последних атак генерал Горн повел свою бригаду в бой, отдав ей приказ не стрелять. Под барабанный бой пруссаки пошли в штыковую атаку, а бранденбургские гусары врубились во фланги французской колонны. Французские генералы говорили позже, что они редко видели проявление столь неудержимой отваги, какую продемонстрировали прусские солдаты. Когда первый день сражения закончился, воины Блюхера сделали себе заслоны из трупов убитых, полные решимости не отдавать французам захваченных территорий. В конце концов Мармон должен был оставить Меккерн, что ухудшало положение Наполеона, угрожая ему окружением.
Бой у Линденау окончился для союзников неудачно. Корпус Бертрана отбил все атаки Гиулая и удержал сообщения в своих руках. По-прежнему главной бедой союзников оставалось отсутствие единого командования. Номинальный главнокомандующий фельдмаршал Шварценберг весь день провел с войсками Мерфельда и никакого влияния на общий ход боевых действий не имел. Ставка монархов могла связаться с Силезской армией и о результатах ее сражения с Мармоном узнала только на следующий день.
К вечеру сражение утихло. Потеряв по 30 000 человек, ни одна из сторон не добилась решающего успеха. Но если потери союзников вполне компенсировались подходившими к Лейпцигу армиями Бернадота и Беннигсена, насчитывающими около 110 000 солдат, то Наполеон мог ожидать всего 25 000 человек — корпус Ренье и одну дивизию из корпуса Сугама. Попытка императора разбить Богемскую армию до подхода остальных войск коалиции не удалась. Союзники выиграли время на сосредоточение всех своих сил.
В ночь с 16 на 17 октября к городу подошли свежие силы — Северная и Польская армии. Теперь союзники имели 306 000 человек, Наполеон — только 185 000. Ему нужно было немедленно отступать, но это означало признать себя побежденным. Рано утром французский император объезжал вчерашнее поле битвы в сопровождении Мюрата, который отметил, что со времен Бородина не было такой массы убитых. Весь день 17 октября Наполеон провел в раздумьях, а союзники не торопились. Они ожидали полного сосредоточения своих сил. Обе стороны собирали раненых и хоронили убитых. Вечером Наполеон вызвал к себе пленного генерала Мерфельда и отпустил его с просьбой передать союзникам предложение о мирных переговорах. Ответа от монархов не последовало. Наполеон решил остаться и продолжить битву.
В ночь на 18 октября началась перегруппировка французской армии. Император стянул войска ближе к Лейпцигу и занял позиции в четырех верстах от города. Против Богемской армии он оставил пять пехотных и четыре кавалерийских корпуса и направил против Силезской армии три пехотных и один кавалерийский корпус. Он усилил охрану переправы у Линденау и дороги к Эльбе, направив сюда два корпуса и Молодую гвардию. Император надеялся под прикрытием сражения вывести из окружения на запад все свои корпуса.
К утру французские войска имели почти кольцевое расположение по линии Конневиц—Хольцхаузен—Цвейнаундорф—Шенефельд—Пфаффендорф—Линденау. Развернув на фронте протяженностью в 16 километров около 150 000 солдат и 630 орудий, Наполеон достиг большой плотности боевых порядков — свыше 9000 человек и 39 орудий на один километр.
Союзники тоже перегруппировали свои силы. Богемская армия по-прежнему вела атаки Лейпцига с юга, Силезская — с севера, Северная и Резервная — с востока.
В 8 часов утра 18 октября поддерживаемые огнем более чем 1000 орудий союзники начали наступление. Французы дрались отчаянно, деревни переходили из рук в руки по несколько раз, приходилось штурмовать или защищать каждый дом, каждую улицу, каждую пядь земли. На левом фланге французов русские солдаты графа Ланжерона неоднократно штурмовали деревню Шельфельд, дома и кладбище которой, обнесенные каменной стеной, были прекрасно подготовлены к обороне. Дважды отброшенный Ланжерон в третий раз повел своих солдат в штыки и после страшной рукопашной схватки овладел селением. Однако посланные против него Мармоном резервы снова выбили русских с занятой позиции.
Особенно жестокая схватка кипела у деревни Пробстейд в центре французской позиции. Корпуса генералов Клейста и Горчакова к 15 часам ворвались в деревню и начали штурмовать укрепленные дома. Тогда в дело была брошена Старая гвардия. Ее повел в бой сам Наполеон. Французы выбили союзников из Пробстейда и двинулись в атаку на главные силы австрийцев. Под ударами гвардии неприятельские линии затрещали и были готовы рассыпаться. Как вдруг, в самый разгар битвы, вся саксонская армия, сражавшаяся в рядах наполеоновских войск, перешла на сторону союзников. Это был страшный удар. «Страшная пустота зияла в центре французской армии, — писал Мережковский, — точно вырвали из нее сердце». Наполеон ценой огромных усилий восстановил положение, но победа вторично была вырвана у него из рук. Бой продолжался до вечера. К концу дня французам удалось удержать все ключевые позиции обороны.