بعد أن كتب الله النصر للمؤمنين في غزوة حنين، توجه رسول الله - صلى الله عليه وسلم - في شوال عام 8هـ قاصداً الطائف يريد فتحها، وانتدب لتلك المهمة خالد بن الوليد - رضي الله عنه -º حيث جعله على مقدمة الجيش، وطلب منه أن يسير أولاً لمحاصرتها.
وكانت قبيلة ثقيف - وهم أهل الطائف- قد حصنت مواقعها، وأعدت عدتها، وتهيأت للقتال، والدفاع عن أرضها.
ولما وصل رسول الله - صلى الله عليه وسلم - إلى الطائف نزل قريباً من الحصن، وأقام معسكره فيه، فانتهزت ثقيف الفرصة، وأخذت توجه سهامها إلى معسكر المسلمين، فأصابت منهم اثنا عشر رجلاً، كان منهم: عبد الله بن أبي بكر - رضي الله عنه - الذي استشهد على أثر رمية أصابت منه مقتلاً.
واستمر حصار رسول الله - صلى الله عليه وسلم - للطائف قرابة أربعين يوماً، تخللها العديد من المناوشات بين المسلمين والمشركين، ورغبة في إضعاف معنويات ثقيف، أخذ المسلمون في تحريق نخلهم، فناشدوا رسول الله - صلى الله عليه وسلم - أن يدعها لله وللرحم، فاستجاب لهم، ثم نادى منادي رسول الله - صلى الله عليه وسلم -: \" أيما عبد نزل من الحصن وخرج إلينا فهو حر\"، فخرج منهم بضعة عشر رجلاً، فأعتقهم رسول الله - صلى الله عليه وسلم -، ودفع كل رجلٍ, منهم إلى رجلٍ, من المسلمين ليقوم بشأنه واحتياجاته.
ولما طال الحصار، وأصيب عدد من المسلمين استشار الرسول - صلى الله عليه وسلم - بعض القوم، ثم قرر رفع الحصار والرحيل، فعن عبد الله بن عمرو قال: حاصر رسول الله - صلى الله عليه وسلم - أهل الطائف، فلم ينل منهم شيئا، فقال: (إنا قافلون إن شاء الله، قال أصحابه: نرجع ولم نفتتحه، فقال لهم رسول الله - صلى الله عليه وسلم -: اغدوا على القتال، فغدوا عليه فأصابهم جراح، فقال لهم رسول الله - صلى الله عليه وسلم -: إنا قافلون غدا، فأعجبهم ذلك، فضحك رسول الله - صلى الله عليه وسلم -)رواه البخاري ومسلم.
وتروي كتب السير أن بعض الصحابة أتوا رسول الله وقت الحصار، وقالوا: يا نبي الله، ادعُ الله على ثقيف، فقال رسول الله - صلى الله عليه وسلم -: (اللهم اهد ثقيفاً وأت بهم).
ثم أذن مؤذن رسول الله بالرحيل، فرحل الجيش وهم يقولون: (آيبون تائبون عابدون لربنا حامدون).
وهكذا عاد المسلمون من غزوة الطائف، منتصرين وإن لم يفتحوا الحصن، منتصرين بإيمانهم، وثباتهم، وصبرهم، إضافة لما حصل من استسلام بعض أهل الطائف وإسلامهم.