מוחמד אחמד
המרידה

ברור היה כי גרוש השליח יחייב את השלטון בנקיטת צעדים נגד המהדי. כדי להתכונן לכך גייס אחמד את ראשוני לוחמיו. ואכן בתוך זמן קצר שלח השלטון המצרי משלחת צבאית לאי אבא על מנת לאסור את המהדי. המשלחת הורכבה משתי פלוגות לוחמים שהגיעו לאי בעזרת ספינה ממונעת, באוגוסט 1881 יצאו שתי הפלוגות ללא תאום ביניהם על מנת לאגף את צבא המהדי, בגלל חוסר כישרונם הצבאי של מפקדי הכוח ירו הפלוגות זה על זה, המהדי הצטרף לקרב והביס את כוחות הממשלה. אחמד עצמו נפצע קלות בקרב אך הסתיר את פציעתו. כדי להימנע ממאסר, אחמד ותומכיו עזבו את האי אבא בתהלוכת ניצחון וצעדו לקורדופאן המרוחקת במרכז-מערב סודאן. זמן קצר לפני הצעדה מינה אחמד את יורשיו, למקרה שימות ארבעה ח'ליפים כמו שמינה הנביא מוחמד בזמנו. הח'ליף הראשי היה עבדאללה, שאכן ירש את מקומו. בקורדופאן גייס ה"מהדי" תומכים נוספים, רבים מהם מקרב השבטים המקומיים. מוחמד אבן עבדאללה גם כתב למנהיגי שבטים סודאניים רבים כדי לזכות בתמיכתם, או לפחות בנקיטת נטרליות מצידם. הוא גם נתמך על ידי סוחרי העבדים, שהיו מעוניינים לחזור למעמדם המשפיע, כפי שהיה לפני הרפורמות של צ'ארלס גורדון.
בתשעה בדצמבר 1881 התרחש הקרב השני בפיקודו של מוחמד אחמד. 1400 חיילים בפיקודו של מושל פשודה רשיד ביי נהרגו מן המארב על ידי חיילי המהדי. שמו של המהדי הגיע לכל רחבי הארץ והמרד הפך לאיום ממשי על שלמות המשטר. כוחותיו הטילו מצור ממושך על העיר אל-אוביד בירת קורדופן במרכז סודאן, והרעיבו אותה עד שנכנעה. אש המרד פרצה סימולטנית במחוזות שונים של סודאן ובכלל זאת בדרפור ובדרום. גובי מס נרצחו ורק מספר מוצבים מבודדים שמרו על הנוכחות המצרית בסודאן.
בינתיים במצרים עצמה פרצה מרידה כנגד השלטון הבריטי-טורקי שעשק עת אוצר המדינה. ממשלת בריטניה הפגיזה את נמלי אלכסנדריה וחייליה פלשו לעיר. בכך למעשה שעבדה בריטניה את מצרים. חיילי הצבא המצרי נלקחו בשבי והושמו במאסר. זמן קצר לאחר מכן החליטו השלטונות הבריטיים במצרים לחדש את הניסיון לדכא את המרד בסודאן. לצורך דיכוי המרד שוחררו חיילים וקצינים מצרים ממחנות השבויים ונשלחו, לעיתים בשלשלאות, לסודאן. חיילים אלו היו כמובן חסרי כל מוטיבציה להילחם וחלקם אף ערקו בדרך. הכוח המצרי הובל על ידי הקצין הבריטי גנרל ויליאם היקס, בתשעה בספטמבר 1883 יצאו כוחותיו של היקס אל אום דורמן במטרה לחבור לכוחותיו של מושל דרפור - הקצין האוסטרי פון סלאטין. מצב הכוח היה כה נואש, עד כי רבים מן החיילים המצרים העדיפו לערוק לשורותיו של המהדי ולא להסתכן במוות בטוח. ב-3 בנובמבר 1883 תקף צבא של 40 אלף לוחמים סודאנים חמושים באלפי רובים את המשלחת הצבאית באזור אל עובייד. הכוח המצרי-בריטי, שסבל ממחסור במים ומשחיקה בעקבות סדרת התכתשויות עם לוחמי המהדי התפורר והושמד כמעט לחלוטין. רק כ- 500 חיילים מצריים מתוך כ-7000 נמלטו משדה הקרב, וכל הקצינים הבריטים נהרגו בקרב.
לאור חוסר עניינם של הבריטים באזור, הם החליטו בדצמבר 1883 לסגת מסודאן. הבריטים שהמשיכו להחזיק במספר ערים צפוניות ובנמלי הים האדום הורו לצ'ארלס גורדון לשוב לח'רטום ולארגן את נסיגת צבא המצב המצרי והאזרחים הבריטים מהמקום. גורדון הגיע לעיר הבירה הסודאנית בפברואר 1884, ב-15 במרץ מרדו השבטים שמצפון לח'רטום והצטרפו אל מרד ה"מהדי", חסמו את הנהר לתנועת ספינות וניתקו את הטלגרף שחיבר בין ח'רטום לקהיר. ב-18 במרץ הטילו 30,000 חיילי ה"מהדי" מצור על ח'רטום. במאי נכנעה ברבר, וח'רטום הפכה למבודדת לחלוטין.
ב-12 בנובמבר החלו כוחותיו של מוחמד אחמד להפגיז את ח'רטום באש תותחים ולהתקרב לעיר הודות לירידת מפלס המים בתעלות שהקיפו אותה. ב-26 בינואר 1885, בשעה שלוש לפנות בוקר, הסתערו 50,000 לוחמי המהדי על ח'רטום. החיילים המצרים העייפים, הרעבים ושהמורל שלהם היה בשפל המדרגה לא הצליחו לעצור את הכוחות העדיפים, והמורדים חדרו לעיר וערכו בה מרחץ דמים. בין ההרוגים היה גם צ'ארלס גורדון.