ハフィルの戦いは、スーダン征服のための英エジプト遠征の一環として行われたドンゴラ遠征中の1896年9月17日から19日にかけて行われた。ハーバート・キッチナー卿率いる英エジプト軍は、ハフィルのマフディー派陣地を撤退させ、英エジプト軍のドンゴラへの進軍を可能にした。
フィルケットでの勝利後、ハーバート・キッチナー将軍率いる英エジプト軍がスーダン再征服のためナイル川を遡上する中、ケルマ近郊のハフィルの要塞陣地が川上の最後の大きな障害となった。[ 1 ]ハフィルはケルマ近郊のナイル川の急流に位置していた。マフディー派は英エジプト軍の砲艦の通行を阻止するため、そこに砲台と塹壕を築いた。ハフィルを制圧しなければ、キッチナーの艦隊は前進できなかった。イギリス軍は輸送と通信を改善し、マフディー派がドンゴラを増援するのを阻止するためにハリフを占領する必要があった。マフディー派の司令官エミール・ワド・バシャラはドンゴラのすぐ北にあるハフィルの急流を封鎖しようとした。[ 2 ]イギリス軍は8,000人近くいたが、ハフィルには3個大隊しかいなかった。北スタッフォードシャー連隊第1大隊と英エジプト軍の2個大隊、少数の騎兵分遣隊、パリソン中佐指揮下の20~25門の大砲、スタンリー・コルヴィル司令官指揮下の蒸気船2隻と砲艦5隻(約320名の乗組員)が参加した。総指揮はキッチナー軍曹が執った。マフディー軍は、数隻の旧式ボートと蒸気船、ラクダを含む約500名の騎兵、そして3,000~4,000名の非正規兵を擁していた。

19日の朝、ケルマはマフディー軍の抵抗を受けることなく即座に占領された。しかし、マフディー軍は前日にハフィルに駐屯していた。ケルマの高台から、ナイル川西岸に多数のマフディー軍部隊と多数のボート、蒸気船が発見された。[ 3 ]キッチナーは砲兵隊を編成し、敵を砲撃するよう命じた。ドンゴラへ向かうよう指示されていたコルヴィルの砲艦はハフィルを通過しようとしたが、遮蔽された砲台に配置された砲と川岸の深い塹壕に潜むライフル兵からの激しい砲火に迎えられた。パーソンズ中佐率いる王立砲兵隊は、デルヴィッシュ要塞の向かい側の低地に前進し、予備砲撃の後、砲艦はマフディー軍の激しい砲火の中を無事通過することができた。イギリスの砲艦はすでに通過し、マフディー派の蒸気船に向かって進み、これを沈めた。蒸気船が敵陣地に最初に接近した際、コルヴィルは手首に負傷した。砲兵隊は夜まで要塞陣地への砲撃を続け、バシャラは英エジプト軍主力部隊が3隻の先遣砲艦の助けを借りて南下し川を渡ろうとしていると信じ、ハフィルを撤退しドンゴラに後退した。[ 4 ]
9月20日の早朝、英エジプト軍は1個旅団でハフィルを占領した。死傷者はわずか16名で、マフディー派の捕虜約20~30名を捕らえた。陣地が確保されたため、川を渡る準備が行われた。13,000名の兵士と3,200頭の動物からなる全軍は、英国海軍の支援を受けてナイル川を渡った。渡河は迅速に行われ、30時間以内に完了した。これは注目すべき兵站上の成果である。 [ 5 ]バシャラ首長の撤退により、ナイル遠征の最後の大きな障害が取り除かれた。1日も経たないうちに、キッチナーは23日に抵抗を受けることなくドンゴラに到達した。ドンゴラの占領は1896年の作戦の成功裡の終結を意味し、北スーダンを英エジプトの支配下に置いた。