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