Спустя несколько недель Амр осадил Бабилон. Это была крупная крепость, построенная по всем правилам римской фортификации, с двадцатиметровыми стенами в два с половиной метра толщины. Ее ворота выходили к Нилу, откуда по водек защитником крепости доставляли все необходимое, а со стороны пустыни тянулась непреодолимая стена. Амр благоразумно согласился на предложение патриарха Кир о мире и снял осаду в обмен на крупный выкуп. Однако в дело вмешался византийский император Ираклий, расценивший переговоры Кира как предательство; патриарх был отправлен в отставку, а договор с арабами расторгнут.
Не получив денег, Амр возобновил наступление. На этот раз он двинулся на север в сторону Александрии, пополняя свою армию примкнувшими к нему монофизитами. Феодор выступил ему на встречу и разбил арабов, которым пришлось укрыться в близлежащей крепости. Выждав и собравшись с силами, они отступили к Бабилону и снова осадили город.
На этот раз осада продолжалась семь месяцев. За это время Ираклий умер, и в Константинополе началась смута. Командующий византийской армией Феодор уехал из Египта в столицу, положение в стране стало зыбким. Измученные осадой жители Бабилона решили сдать сдаться при условии, что всех желающих беспрепятственно выпустят из города. 7 апреля 641 года, в день Пасхи, христианский гарнизон покинул город, предварительно выпустив из тюрем всех заключенных и отрубив руки тем, кто сидел в тюрьме за ересь.
Захватив Бабилон, Амр снова двинулся к Александрии. По дороге он взял город Никиу, гарнизон которой в панике разбежался при приближении арабов, не оказав сопротивления. Вернувшийся в Египет Феодор организовал оборону на подступах к Александрии, но после десяти дней упорных боев арабы подошли к столице Египта.
Однако взять Александрию им не удалось. Это был огромный город с населением в 150 тысяч человек, имевший мощные укрепления и сильный флот. Он стоял на берегу моря и его нельзя было осадить, а огромные стены и отсутствие осадных орудий у арабов делали невозможным прямой штурм. Гарнизон города был более многочисленным, чем армия осаждавших его мусульман (от 20 до 50 тысяч против 15 тысяч у арабов).
Амр отступил от Александрии, но как только арабы ушли, в городе начались волнения. Партия «синих» не могла поделить власть с партией «зеленых», монофизиты устраивали заговоры против вернувшегося из Константинополя Кира. Религиозные и внутриполитические волнения доходили до кровавых стычек. В этих условиях Кир решил устроить перемирие с арабами. Прибыв в Бабилон, он заключил с Амром договор, согласно которому византийцы выплачивали арабам контрибуцию и обязались не предпринимать военных действий в течении 11 месяцев. Однако этим условия договора не заканчивались. По окончании перемирия войска византийцев должны были добровольно покинуть Александрию и уплыть за море. Арабы взамен поклялись не ущемлять интересы христиан и не разрушать церкви, а также не трогать евреев. В знак серьезности своих намерений византийцы выдали арабам 200 заложников.