Тем временем Портер готовился провести свой флот мимо батарей Виксберга. У него было восемь бронированных канонерских лодок и три парохода, груженных припасами. У каждого корабля была баржа с углем, пришвартованная к его правому борту, чтобы находиться дальше от пушек конфедератов. Двигатели и палубы кораблей были покрыты влажным хлопком и сеном, чтобы не допустить распространение огня. В целях достижения внезапности операцию предстояло провести ночью, причем на кораблях следовало погасить все огни. Двигатели работали на малых оборотах -северяне больше полагались на быстрое течение реки. Флагман Портера «Бентон» шел в 50 метрах впереди и немного левее колонны кораблей. Флот отплыл в 22:30 16 апреля. Ночь выдалась ясная и безоблачная, но на уровне воды бьио темно.
Пикеты южан на дальнем берегу реки подожгли брошенные здания, чтобы осветить реку и дать своим канонирам возможность лучше определить цели. Поскольку береговая линия теперь сверкала огнями, канонерские лодки северян прошли близко к берегу и начали обстреливать город. В отличие от них транспортные суда отошли к противоположному берегу реки. Одно из них, «Генри Клей», было подожжено снарядом и затонуло. Хотя все корабли северян получили попадания, ни один не был поврежден настолько, чтобы ему потребовался ремонт; «Генри Клей» стал единственной серьезной потерей. Теперь у фанта уже не оставалось возможностей для отступления. Он должен был приблизиться к Виксбергу, двигаясь вверх по берегу реки по враждебной территории и не имея надежных коммуникаций. На следующий день после успешного прохода кораблей, признав действия МакКлернанда удовлетворительными, Грант отдал приказы о проведении очень важного марша на юг. Приказ был отдан армейским корпусам: XIII МакКлернанда, XVII МакФерсона и XV Шермана. Солдатам и офицерам предстояло двигаться налегке без палаток С этого момента снабжение должно было стать серьезной проблемой. Грант вспомнил, как его войска добывали себе продовольствие несколькими месяцами ранее во время его отступления из Оксфорда, и проинструктировал солдат, чтобы они могли повторить этот опыт, но на этот раз действуя сдержано и вежливо. С каждым днем Грант все больше и больше гордился своими солдатами, а у тех, в свою очередь, росло чувство уверенности в своем командующем.
Первоначальный план Гранта состоял в том, чтобы форсировать реку около форта конфедератов в Гранд-Галф. Канонерские лодки Портера подавили бы батареи противника на утесах, а 10 ООО солдат МакКлернанда в это время должны были высадиться и взять форт. Однако после ожесточенного боя восемь канонерских лодок Портера так и не смогли заставить замолчать пушки противника. В ту ночь фанту помог счастливый случай. Чтобы определить наиболее подходящее место для высадки на восточном берегу реки, он располагал лишь очень ненадежными картами, но его солдаты захватили раба, который хорошо знал эту местность. Он сообщил, что лучшее место для высадки находится у Бруинсберга, примерно в 10 км вниз по реке. Там не было укрепленных пунктов конфедератов, а дорога шла от Бруинсберга до Порт-Гибсона, где Грант мог пересечь заболоченную местность у ручья Пьера, создавая угрозу Гранд-Галфу с тыла.
Грант приказал Шерману организовать отвлекающий удар вдоль берегов Язу, чтобы не дать Пембертону возможности отправить подкрепления в Гранд-Галф. Затем, перед рассветом 30 апреля весь XIII корпус МакКлернанда и две бригады XVII корпуса были отправлены вниз по течению и, не встретив сопротивления, высадились в Бруинсберге. Впервые Грант оказался на сухом участке земли на том же берегу реки, что и противник. У Гранта на берегу было 20 ООО человек, другая часть корпуса МакФерсона находилась неподалеку на подходе. Грант приказал Шерману оставить Язу и поспешить за ним. Причем он учитывал, что серьезно уступал бы в численности противнику, если Пембертон смог собрать доступные войска и срочно бросить их на защиту Гранд-Галфа. Северянам необходимо было действовать быстро. Сильно измотанные к этому моменту солдаты МакКлернанда в ночь двинулись на восток к Порт-Гибсону. Там перед рассветом 1 мая они наткнулись на заставы южан.
В Порт-Гибсоне генерал Дж. С. Боуен командовал 6000 южан. Несмотря на то, что он не получил от Пембертона обещанных подкреплений, конфедераты оказали ожесточенное сопротивление. Бой продолжался большую часть дня. Уже в сумерках южане отступили, и северяне продвинулись на несколько километров вперед, после чего закрепились на местности. На следующее утро они возобновили наступление на Порт-Шбсон, где обнаружили, что мосты через ручей Пьер никем на защищены. Впрочем, перед отходом южане их разрушили. Спешно был возведен импровизированный мост, и войска в этот день смогли продвинуться еще 12 км. Они двигались на северо-восток, удаляясь от Миссисипи и урожая отрезать находившийся в Гранд-Галфе гарнизон южан. Конфедераты оставили свои позиции и ушли в Виксберг, после чего моряки Портера без помех заняли Гранд-Галф.