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