كان سببها رغبة قريش في الانتقام لأنفسهم وأخذ الثأر لقتلاهم في بدر، خرج أبو سفيان في ثلاثة آلاف مقاتل، فعسكروا قريبًا من جبل أحد. فاستشار النبي صحبه، فأشار أكثرهم بالخروج، فخرج في ألف مقاتل، وأثناء الطريق انخذل المنافق ابن سلول بثلث الجيش بحجة أن الرسول صلى الله عليه وسلم لم يأخذ برأيه في البقاء داخل المدينة. فعسكر الرسول صلى الله عليه وسلم عند جبل أحد (شمال المدينة) وجعله خلفه، وجعل على ربوة هناك في سفح الجبل خمسين راميًا بقيادة عبد الله بن جبير، وأمرهم بعدم النزول مهما حصل، ثم نظم الجيش، وأعطى اللواء لمصعب بن عمير.
قاتل أصحاب رسول الله صلى الله عليه وسلم بشجاعة، وأبلى أبو دجانة (الذي أعطاه الرسول صلى الله عليه وسلم سيفه)، وطلحة، وحمزة، وعليٌّ وغيرهم، فانتصر المسلمون في أول النهار مظهرين بطولة رائعة، وانهزم الأعداء. فنزل أكثر الرماة مخالفين أمر الرسول صلى الله عليه وسلم لجمع الغنائم، فالتف خالد بن الوليد مع فرقة الخيالة من خلفهم، فكانت مفاجأة مفجعة حيث اضطرب المسلمون وعمهم الذعر، فأثخن الكفار فيهم، فاستشهد عدد منهم (أكثر من 70) وولى البعض، وجرح الرسول صلى الله عليه وسلم وكسرت رباعيته. وممن استشهد مصعب (حامل اللواء)، وحمزة بن عبد المطلب الذي قتله وحشي بحربة، وحنظلة بن أبي عامر، وكان جنبًا، فأخبر الرسول صلى الله عليه وسلم أن الملائكة غسلته.
انسحب المسلمون بأمر الرسول صلى الله عليه وسلم نحو الجبل انسحابًا منظمًا. ثم تحصنوا بهضبة عالية فعجز عنهم المشركون، فقال أبو سفيان: (إن موعدكم بدر العام المقبل). فقالوا له بأمر الرسول صلى الله عليه وسلم: «هو بيننا وبينكم موعد». فكان يوم أحد يوم بلاء وتمحيص اختبر الله المؤمنين، وفضح المنافقين، وأكرم من أراد بالشهادة.
ونزل تصوير هذه المعركة في سورة آل عمران. قال تعالى: ﴿ وَلَا تَهِنُوا وَلَا تَحْزَنُوا وَأَنْتُمُ الْأَعْلَوْنَ إِنْ كُنْتُمْ مُؤْمِنِينَ ﴿١٣٩﴾ إِنْ يَمْسَسْكُمْ قَرْحٌ فَقَدْ مَسَّ الْقَوْمَ قَرْحٌ مِثْلُهُ ۚ وَتِلْكَ الْأَيَّامُ نُدَاوِلُهَا بَيْنَ النَّاسِ وَلِيَعْلَمَ اللَّهُ الَّذِينَ آمَنُوا وَيَتَّخِذَ مِنْكُمْ شُهَدَاءَ ۗ وَاللَّهُ لَا يُحِبُّ الظَّالِمِينَ ﴿١٤٠﴾ ﴾[آل عمران:139-140].