اختلف في نزول هذه الآية فقيل بمكة بعد وقعة بدر حكاية عما مضى. وقيل نزل قوله تعالى: {وما كان الله ليعذبهم وأنت فيهم} بمكة إلى قوله تعالى: {أو ائتنا بعذاب أليم} ونزل قوله: {وما لهم} إلى آخر الآية بعد بدر عند ظهور العذاب الأليم. ومعنى قوله: {وما كان الله ليعذبهم وأنت فيهم} أن الله تعالى لم يكن ليعذب هذه الأمة وهو فيهم كما لم يعذب قط أمة ونبيها بين أظهرها. ولا خلاف في هذا بين المفسرين. واختلفوا في قوله تعالى: {وما كان الله معذبهم وهم يستغفرون} هل هو محكم أو منسوخ. فالذين ذهبوا إلى أنها منسوخة قالوا الآية في المشركين أي أنهم لا يعذبون ما استغفروا ثم نسخت بقوله تعالى: {وما لهم ألا يعذبهم الله وهم يصدون عن المسجد الحرام} [الأنفال: 34] وهو قول عكرمة والحسن وضعف بعضهم النسخ في هذا لأنه خبر. والذين ذهبوا إلى أنه محكم اختلفوا في تأويلها اختلافًا كثيرًا. فقيل المعنى ما كان الله ليعذب الكفار يعني أهل مكة، والمؤمنون بينهم يستغفرون. فالضمير في قوله: {ليعذبهم} عائد على الكفار. وقوله: {وهم} عائد على المؤمنين وأضمرهم ولم يجد لهم ذكر ففيه ضعف وهو قول الضحاك وابن عباس. وقيل المعنى ما كان الله ليعذب الكفار وهم بحالة توبة واستغفار من كفرهم إذ لو وقع ذلك منهم وهو قول قتادة واختاره الطبري.
وقيل المعنى ما كان الله ليعذب الكفار وقد علم أن فيهم من يسلم وما لهم ألا يعذبهم إذا أسلم من سبق له الإيمان ويروى هذا عن ابن عباس أيضًا. وقيل المراد بقوله: {وهم يستغفرون} ذرية المشركين يومئذ الذين سبق علم الله تعالى أن يكونوا مؤمنين. فالمعنى وما كان الله ليعذبهم وذريتهم يستغفرون ويؤمنون. فنسب الاستغفار إليهم إذ ذريتهم منهم، ويروى عن مجاهد. وقيل المعنى يستغفرون يسلمون، ويروى أيضًا عن مجاهد.