Ketika mengetahui kedatangan pasukan Quraisy, Rasulullah ﷺ meminta pendapat para sahabat. Mereka semula berangkat untuk menghadang kafilah dagang dan belum bersiap menghadapi pasukan sebesar itu dengan perlengkapan seperti itu. Kaum Muhajirin dan Anshar sepakat untuk menghadapi serta memerangi kaum kafir. Mereka bergerak hingga tiba di kawasan Badar, lalu berkemah di sana. Rasulullah ﷺ menyerahkan panji kepada Mush‘ab bin ‘Umair. Sepanjang malam beliau salat, berdoa, dan bersungguh-sungguh memohon kepada Allah agar memenuhi janji-Nya untuk menolong kaum beriman.
Pada pagi hari tanggal 17 Ramadan tahun kedua Hijriah, perang dimulai dengan tampilnya ‘Utbah bin Rabi‘ah, putranya Al-Walid, dan saudaranya Syaibah untuk bertanding satu lawan satu. Hamzah, ‘Ali, dan ‘Ubaidah bin Al-Harits maju menghadapi mereka. Ketiga orang musyrik itu pun terbunuh.
Kedua pasukan kemudian bertempur dengan sengit. Rasulullah ﷺ berperang bersama para sahabat dan berada paling dekat dengan pihak musuh. Kaum muslimin berlindung di sekitar beliau. Perang berakhir dengan kemenangan kaum muslimin. Empat belas orang dari mereka gugur sebagai syuhada, sedangkan dari kalangan musyrik tujuh puluh orang terbunuh dan tujuh puluh lainnya ditawan.
Dalam perang ini, banyak pemuka kekafiran dan musuh Islam terbunuh. Di antara mereka adalah Abu Jahl, Fir‘aun umat ini; Umayyah bin Khalaf; ‘Utbah bin Rabi‘ah; Syaibah bin Rabi‘ah; dan yang lainnya.