بعد هزيمة قريش في غزوة بدر سعت للانتقام بسبب قتلاها في معركة بدر فجمعت من كنانة وغيرها من القبائل فخرجوا في 3000 مقاتل في 15 شوال من سنة 3 للهجرة فبلغ خبرهم للرسول فخرج بالمسلمين إلى أُحد وفي الطريق انسحب المنافق عبد الله بن أبي بن سلول وثلاثمائة من أتباعه وعادوا إلى المدينة وتابع المسلمون سيرهم إلى أحد ونزلوا في موقع بين جبل أحد وجبل صغير ووضع الرسول الرماة على جبل عينين وأمرهم أن لا يغادروا مواقعهم حتى يأمرهم بذلك مهما كانت نتيجة المعركة، وبدأت المعركة فحاول فرسان المشركين بقيادة خالد بن الوليد اختراق صفوف المسلمين من ميسرتهم فصدهم الرماة، وقتل عشرة من حملة لواء المشركين، وسقط لواؤهم ودب الذعر في صفوفهم وبدؤوا في الهرب، وتبعهم بعض المسلمين فاضطربت صفوفهم، ورأى الرماة هرب المشركين فظنوا أن المعركة حسمت لصالح المسلمين فترك معظمهم مواقعهم، ونزلوا يتعقبون المشركين ويجمعون الغنائم ولم يلتفتوا لتحذيرات قائدهم، واستغل خالد بن الوليد هذه الحال، فالتف على الجيش وتغيرت موازين المعركة، وأثناء ذلك، أشيع أن الرسول قتل، وانسحب الرسول بمجموعة من الصحابة الذين التفوا حوله إلى قسم من جبل أحد وحاول المشركون الوصول إليه ففشلوا ويئسوا من تحقيق نتيجة أفضل فأوقفوا القتال مكتفين بانتصارهم هذا.