صلح حدیبیه تا ۲ سال پایدار بود. فسخ شدن صلح حدیبیه از آنجا شروع میشود که محمد پیمان صلحی با یکی از زیرشاخههای قبیله بنیخزاعه بسته بود. قبیله بنیخزاعه روابط دوستانهای با محمد داشت در حالی که دشمنش قبیله بنیبکر با مکیان اتحاد داشت. خاندانی از بنیبکر شبانه به بنیخزاعه یورش میبرند و تعدادی از آنها را میکشند.اهل مکه متحدانشان (بنیبکر) را با فراهم کردن اسلحه کمک کرده بودند، و طبق برخی از منابع تعداد کمی از اهل مکه هم در جنگ شرکت کرده بودند. پس از این واقعه، محمد پیغامی به مکه فرستاد و در آن سه شرط را مشخص کرده بود و از اهل مکه میخواست یکی را بپذیرند. شروط این بود که اهالی مکه خونبهای کسانی که از قبیله بنیخزاعه کشته شدهاند را بدهد، یا اتحادشان با بنیبکر را برهم بزنند، یا پیمان حدیبیه را منسوخ اعلام کنند.
پاسخ مکه این بود که آنها فقط شرط آخر را میپذیرند. اما کمی بعد به اشتباه خود پی بردند و ابوسفیان را فرستادند که پیمان حدیبیه را احیا کند؛ ولی محمد درخواستشان را نپذیرفت و نیروهای خود را برای جنگ با مکه آماده کرد. در سال ۶۳۰ میلادی با نیروی بسیار زیادی که گفته میشود ۱۰٬۰۰۰ نفر بودند به سمت مکه حرکت کرد و با حداقل کشته کنترل مکه را به دست گرفت. محمّد بخشش عمومی برای تمامی رفتارهای گذشته و توهینها به اهل مکه داد، به جز ده زن و مرد که او را مورد تمسخر قرار داده بودند و در شعرها و آوازهایشان به او ناسزا گفته بودند. او برخی از این افراد را نیز بعداً بخشید. اکثر اهل مکه مسلمان شدند و محمد متعاقباً نسبت به شکستن تمامی بتهای درون کعبه و جز آن، اقدام کرد.