Всего Абу Джахл, возглавивший мекканское ополчение, собрал около 1000 человек со 100 конями и 700 верблюдами. Эта сила явно предназначалась не для прикрытия каравана, а для нанесения Мухаммаду такого удара, который навсегда отбил бы у него охоту нападать на своих бывших соплеменников. Ядро этого войска составляли махзумиты (180 человек, из которых 30 конников) и род абдшамс, возглавляемый Абу Джахлем.
Мухаммад выступил из Йасриба в воскресенье 14 (12?) рамадана (10 марта 624 г.). Мекканцы в этот момент были примерно на том же расстоянии от Бадра (между ал-Усфаном и ал-Кудайдом) (рис. 7 и 8). В двух переходах от Бадра он послал разведку, которая сообщила, что караван прибудет не завтра, так послезавтра, но Абу Суфйан, торопивший свой караван, прибыл раньше, узнал о разведке, обошел Бадр с запада по берегу моря и послал гонца навстречу мекканскому войску, чтобы предупредить, что благополучно миновал опасное место и помощь больше не нужна [+19]. Это известие, полученное, когда мекканское войско подходило к ал-Джухфе, вызвало раскол среди мекканцев: многие сочли, что после спасения каравана нет смысла продолжать поход и проливать кровь собратьев, как бы они ни провинились, порвав узы родства и последовав за Мухаммадом. Той же ночью зухриты тайно покинули лагерь, а на следующий день с дороги повернули назад адиты, издавна враждовавшие с абдшамс. Таким образом, мекканское войско сократилось примерно на полторы сотни бойцов.
Заколебался даже вождь абдшамс Утба б. Раби'а, на котором лежал долг отомстить за ал-Хадрами, убитого в Нахле, остававшийся единственной веской причиной для сражения с мусульманами. Он изъявил готовность взять на себя уплату виры родственникам убитого при Нахле, чтобы уничтожить последнюю причину, толкавшую на сражение с сородичами. Это действительно сделало бы поход в глазах участников бессмысленным, и Абу Джахл принял все меры, чтобы помешать уладить конфликт. Он обозвал Утбу трусом, высказал подозрение, что тот боится сражения со своим племянником Мухаммадом и сыном, находившимся в его войске, а в довершение всего сыграл на родственных чувствах брата убитого, сказав ему, что Утба хочет откупиться, и тот в самой обидной форме публично обвинил Утбу в вероломстве. Все это настолько задело самолюбие старого вождя, что он ради доказательства собственной храбрости отказался от первоначального намерения.
Естественно, что все это не способствовало укреплению боевого духа мекканцев накануне сражения, где они могли скрестить оружие с самыми близкими родственниками ради мести за кровь одного из союзников рода абдшамс.
Мухаммад подошел к Бадру в четверг вечером 18 рамадана/ 14 марта и, конечно, к этому времени должен был знать, что караван уже ускользнул от него, хотя средневековые историки не говорят об этом.
Положение его было незавидным: с трудом сколоченный отряд пришел к пустому месту, возвращаться в Йасриб после долгих сборов с пустыми руками значило подвергнуться заслуженным насмешкам и потерять всякий авторитет. Единственным выходом из положения могло быть столкновение с мекканцами, численности которых Мухаммад мог еще не знать. Но вскоре разведка захватила у колодцев высланных вперед мекканских водовозов, и стало ясно, что придется иметь дело со всей мощью мекканцев.
Мусульмане будто бы сначала не поверили словам пленных и решили, что они ложью пытаются отвести опасность от каравана, только Мухаммад серьезно отнесся к этим сведениям. Однако трудно поверить, что Мухаммад, предприняв столь важный для него поход, заблаговременно посылая дальнюю разведку по маршруту каравана, вдруг в последний момент допустил такую оплошность — о проходе каравана через место предполагаемого перехвата он узнает только на четвертый день! Несомненно, и он, и его ближайшее окружение узнали об этом, как и о подходе мекканского войска, еще на пути к Бадру. Недаром, по некоторым сведениям, на последнем этапе движения после получения сведений о приближении мекканцев Мухаммад собрал военный совет. Мы можем не принимать на веру речи, которые держали его участники, но сам факт совещания свидетельствует о том, что неприятные известия были получены до прибытия в Бадр, хотя для большинства воинов перспектива жестокого сражения с превосходящими силами противника вместо легкой стычки за богатую добычу могла раскрыться только в последний момент.
Как бы то ни было, Мухаммад первым подошел к месту будущего сражения и приготовился к нему: засыпал часть колодцев, чтобы оставить противника без воды, занял удобную позицию и вдохновил своих воинов обещанием помощи от Аллаха. Мекканцы, втайне надеявшиеся, что мусульмане, увидев их численный перевес, уйдут без боя, были неприятно поражены решимостью своего противника.
В пятницу 19 рамадана (15 марта 624 г.) [+20] на рассвете Мухаммад выстроил свой отряд так, чтобы восходящее солнце слепило мекканцев. Стремительному натиску мекканской конницы он противопоставил неподвижный строй пехоты с плотно сомкнутыми щитами. В отличие от вождей племен, которые сражались впереди своих воинов, Мухаммад остался с Абу Бакром позади в шалаше из пальмовых листьев. Знамена мекканцев держали по наследственной привилегии знаменосцы из рода абдаддар, знамя мухаджиров нес брат одного из знаменосцев мекканцев.
Бой, как обычно, начался поединками. Защитить свое доброе имя перед соплеменниками выехал Утба б. Раби'а со своим старшим братом Шайбой и сыном ал-Валидом. Их вызов приняли Али, Хамза и Убайда б. ал-Харис. Соперники разделились по возрасту: самый младший, Али, схватился с ал-Валидом, а самый старый, Убайда, с семидесятитрехлетним Шайбой. Али и Хамза быстро справились со своими соперниками, а Убайде его противник отрубил ногу в голени. Подоспевшие ему на помощь Али и Хамза зарубили Шайбу и унесли Убайду с поля боя.
Как протекало развернувшееся после этого сражение, сказать невозможно, так как память участников сохранила лишь эпизоды индивидуальных схваток, в которых отличились они сами или их родичи. Видимо, конная атака мекканцев не прорвала стойкий пеший строй мусульман, это обескуражило мекканцев, не слишком-то рвавшихся в бой, и когда наиболее рьяные бойцы из абдшамс и махзум во главе с Абу Джахлем были убиты, а знаменосцы взяты в плен, то остальные, несмотря на численный перевес, побежали от отчаянно сражавшихся мусульман. На поле боя осталось лежать более полусотни убитых мекканцев, не меньше этого попало в плен [+21]. Мусульманам досталась богатая добыча, масса оружия, кольчуг, 10 или 30 коней и 150 верблюдов [+22]. Потери мусульман на фоне одержанной победы были совершенно ничтожны: 6 мухаджиров (считая Убайду, скончавшегося от раны на обратном пути), 2 аусита и 6 хазраджитов.
Списки погибших позволяют несколько прояснить картину сражения: во-первых, более половины убитых мекканцев — из родов абдшамс и махзум, к ним же принадлежит и половина пленных (часть из них — раненые), из чего мы можем заключить, что сражались в основном они, а остальные были сравнительно пассивны; во-вторых, половина мекканцев была убита мухаджирами, составлявшими лишь четверть отряда мусульман (особенно отличились Али и Хамза) [+23]; в-третьих, ни один мекканец и мухаджир не пал от рук противника из своего рода — все искали встречи с чужими.
Такой разгром более сильного противника поразил обе стороны. Для его объяснения позже родилась легенда о тысяче ангелов, присланных на помощь мусульманам в ответ на молитву Мухаммеда. Это объяснение вполне устраивало и побежденных, для которых поражение переставало быть позорным: одно дело — быть взятым в плен слабосильным врагом и совсем другое — ангелом, принявшим облик этого человека [+24]. Но этой легенде еще предстояло родиться и утвердиться в умах людей, а пока разгромленные мекканцы, наливаясь жаждой мести, бесславно возвращались домой навстречу воплям и проклятиям вдов. Абу Суфйан, оказавшийся теперь вождем курайшитов, поклялся отомстить за это поражение.