大當時僅有萬人,是一個破舊小鎮,港口很小而且尚未開發。對於開羅而言,當時主要的港口是達米埃塔,該港位於尼羅河的東口,在亞歷山大港以東120英里。
7月1日中午,儘管颳著北風,部隊還是開始在馬拉布特登陸。登陸行動是緩慢而艱難的,但是到第二天拂曉時,由邦、梅努和克萊貝爾所指揮的3個師中的部分官兵已經登岸,只是沒帶火炮、騾馬和給養。所有的人都暈了船而且有些人還被淹死。
拿破崙決定立即向亞歷山大前進,儘管只有4000人上岸而且沒有炮兵。他們沒帶食物和水,沿著沙丘痛苦地向前進軍,並迅即向該鎮發起衝擊,結果只遇到了微弱、零星的抵抗。
中午時分,法軍以傷亡300人的代價佔領了亞歷山大,不過克萊貝爾和梅努兩位師長也負了傷。拿破崙用*文向當地居民釋出了一份異乎尋常的告示。他聲稱法國人不是來打埃及人,而只是打壓迫他們的馬穆魯克統治者。他還宣稱法國人是真穆斯林,並早已廢黜了“經常挑唆基督徒與穆斯林打仗”的教皇。因此,他要求所有真正的埃及人應幫助法國人驅逐馬穆魯克。然後,他便向當地教長和阿訇授以三色勳章。6天之後,所有的部隊和物資都上岸了。拿破崙把全軍分成5個師,開始向開羅進軍。克萊貝爾率2000人留守亞歷山大並任總督,梅努受命佔領羅塞塔後也留任總督。梅努的師由維埃接管,而克萊貝爾的師由杜高接管。杜高師先向東開赴羅塞塔,然後由羅塞塔沿尼羅河的西面支流溯河而上,保護由船隻運送的輜重、彈藥和文職人員;佩裡上校指揮的炮艇負責護航。
拿破崙則率德塞、雷尼埃、邦和維埃的四個師抄近路,穿沙漠,經達曼胡爾向尼羅河上的拉曼尼亞進軍。
這段長達52英里的進軍是在全年最炎熱的季節進行的。拿破崙陷入了幾乎完全無水的沙漠,一群群騎馬的*人在其翼側伺機而動,隨時準備捕殺掉隊的法軍。令人難以置信的似乎是拿破崙竟疏忽到這種程度,他不但沒有給部隊提供熱帶服裝而且連水壺也沒有準備。部隊乾渴難熬,口糧也僅是從船上帶來的硬餅乾,任何跟不上部隊的掉隊者都會遭到貝督因人的凌辱和肢解。所有的人不敢歇息,一氣走到尼羅河邊,在那裡又因暴食西瓜而普遍腹瀉。部隊士氣低落,師長們也紛紛在拿破崙面前叫苦不迭。在拉馬尼亞,這支沙漠縱隊與杜高師會合了。杜高師自羅塞塔溯尼羅河而上的進軍則輕鬆得多。儘管拿破崙的4個師一路歷盡艱辛,他還是決定不讓他們休息,為了趁馬穆魯克面對拿破崙10天前的登陸尚驚魂未定之際打它個措手不及,他必須立即向上遊100餘英里的開羅進軍。
7月11日下午,他檢閱了部隊並告訴他們明天就可能遇到敵人,他獲悉馬穆魯克的前衛在穆拉德的指揮下已抵達其南面8英里處的舒卜拉基特,而且還得到了一隊炮艇的支援。法軍在12日夜間繼續行軍並於拂曉前抵達舒卡拉基特。
在這裡,拿破崙把每一個師都組成一個方陣,每個方陣6列縱深,在方陣的四角都配備有火炮。5個方陣成梯次配置,杜高師在左側,靠近尼羅河以便與船隊保持聯絡。日出時,各團樂隊在方陣中奏起了馬賽曲。
這時,法軍看見馬穆魯克的騎兵已經做好了戰鬥準備,大約有1萬至萬人。穆拉德的戰士們策馬向前想試探法軍的方陣,結果發現到處都是法軍的槍刺刀叢。最後他們開始衝鋒,但立即遭到了滑膛槍和霰彈的迎頭痛擊。他們反覆衝殺,始終未能攻破法軍的方陣。在左翼,佩裡的船隊卻遇到了麻煩,由希臘水手操縱的馬穆魯克的7艘炮艇咬住了他。佩裡僅有3艘炮艇和2艘載著所有科學家和其他文職人員的大駁船。法軍船隊大約傷亡了30人,可是佩裡的炮艇卻有一炮直接命中了馬穆魯克旗艦的彈藥艙,艦上的人全被炸死。其餘的炮艇驚慌失措,一片混亂,不戰自退。將法軍以師為單位組成方陣來對抗馬穆魯克的騎兵衝擊,這是拿破崙在舒卡拉基特會戰中臨時想起的一個非凡的戰術應變措施。交戰一結束,拿破崙立即乘勝追擊潰退之敵。儘管怪石嶙峋且天氣酷熱難熬,法軍仍勇往直前,7月20日傍晚,法軍抵達離開羅只有12英里遠的尼羅河分岔處。在那裡拿破崙獲悉馬穆魯克的全部軍隊都在開羅以北的尼羅河兩岸嚴陣以待。穆拉德在左岸的因巴拜,而易卜拉欣則在右岸的布拉克。在他們之間,還有一支馬穆魯克的武裝船隊守衛在河上。
法軍於21日凌晨2時開始進發,大約到下午2時,就碰上了在因巴拜掘壕據守的馬穆魯克,他們大約有步兵萬人,同時翼側有5000騎兵。而法軍5個師