Am 22. Mai 1863 erhielt Gardner den Befehl zur Evakuierung von Port Hudson, konnte diesen jedoch nicht mehr ausführen, da bereits rund 12.000 Soldaten der Marineinfanterie im Norden an Land gegangen waren und etwa 20.000 Mann aus dem Süden auf Port Hudson zu marschierten. Der erste Angriff erfolgte fünf Tage später, am 27. Mai. Die Belagerung von Port Hudson dauerte 47 Tage und endete erst am 9. Juli. Als Gardner an diesem Tag die Nachricht bekam, dass Vicksburg nach der vom 8. Mai bis 4. Juli andauernden Schlacht um Vicksburg gefallen war, ergab er sich den Unionstruppen und wurde gefangen genommen. 1864 wurde er aus der Haft entlassen, ging zurück zum konföderierten Heer und diente bis Ende des Krieges unter dem Kommando von General Richard Taylor.