Огонь первыми открыли северяне – как с кораблей, так и с береговых батарей; по свидетельству очевидца, «Ядра соскальзывали с ее («Вирджинии») каземата, как капли со спины утки». Бьюкенен выжидал, и первый выстрел погонная семидюймовка «Вирджинии» сделала всего с 300 ярдов, уничтожив поворотную пушку на палубе «Камберленда» и 9 человек из его команды. Проходя мимо «Конгресса», броненосец обменялся с ним залпом, и, стреляя из носового орудия, направился к «Камберленду». Все попытки остановить его орудийным огнем оказались безрезультатными, и примерно 2:15 чугунный таран «Вирджинии» вошел в правый борт корвета. Поднявшаяся при ударе волна захлестнула низкосидящий броненосец и через передние орудийные порты залилась внутрь каземата; Бьюкенен приказал дать задний ход, но броненосец не двигался – таран его прочно застрял в борту «Камберленда»; тот кренился и возникла угроза того, что гибнущий корвет утащит на дно и своего палача.
Кроме того, «Вирджинию» развернуло бортом к ее противнику и канониры «Камберленда» успели дать три залпа из своих девятидюймовок почти в упор. Один из матросов орудийной прислуги был разорван влетевшим в амбразуру ядром пополам; другие, стоявшие, прислонившись к стенкам каземата, были контужены. Засевшие на марсах «Камберленда» стрелки также вели огонь по амбразурам броненосца, и помощник Бьюкенена Джонс приказал своим матросам держаться от них подальше.
Наконец, таран «Вирджинии» отломился, и она смогла отойти от своего противника. Встав между «Конгрессом» и тонущим корветом, она обстреливала оба судна. «Камберленд» продолжал вести огонь, даже когда его крюйт-камеры были затоплены; он пошел на дно с развевающимся флагом «Погибаю, но не сдаюсь»; из 376 человек его команды погиб, был ранен или пропал без вести 121.
После гибели «Камберленда» из реки Джеймс на поддержку Бьюкенену вышла еще одна флотилия южан: два вооруженных пассажирских парохода «Патрик Генри» (1300т, 1–10” бомбическая, 6–8” бомбических, 2 нарезные пушки, экипаж 150 чел.), «Томас Джефферсон» и вооруженный буксир «Тизер». Ко всему прочему командир «Патрика Генри» устроил на своем корабле своеобразную «броневую защиту»: котлы его были прикрыты 2-дюймовыми листами железа, а машины от продольного обстрела защищены траверзами толщиной до 3,75 дюйма. Коммодор южан направил свою возросшую эскадру к «Конгрессу». Но разворот «Вирджинии» занял ни много, ни мало, целых 35 минут. «Конгресс» к тому времени вытравил якорную цепь и сел на мель. Канонерки южан подошли к нему с кормы и, оказавшись вне сектора бортового залпа, безответно обстреливали фрегат, одновременная стреляя и по оказавшейся в пределах досягаемости их орудий «Миннесоте».
Наконец, в 15:30 «Вирджинии» удалось присоединиться к канонеркам, и она открыла огонь. Через час из шпигатов «Конгресса» хлестала струями кровь, командир ее Джозеф Смит был убит, а его заместитель принял решение сдать корабль южанам. Бьюкенен приказал «Бофорту» и «Рейли» снять с фрегата команду, но едва те успели подойти к нему и начать принимать людей, как с берега по ним открыли меткий винтовочный огонь и канонерки вынуждены были отступить. Тогда Бькенен послал к сидящему на мели фрегату шлюпку с приказом попросту зажечь его, но и шлюпка тоже оказалась под обстрелом и вынуждена была отступить.
Тогда Бьюкенен направил к «Конгрессу» «Патрика Генри», но тому не повезло еще больше: на этот раз с берега открыла огонь орудийная батарея, несколько ядер поразили бывший пассажирский пароход, а одно так вообще проникло за доморощенное бронирование и взорвало котел, 5 человек было обварено паром до смерти. «Томасу Джефферсону» пришлось вызволять на буксире своего коллегу.
Тогда Бьюкенен, со словами «Раз они не позволяют нам позаботиться об их раненных, пусть заботятся о них сами», приказал артиллеристам обстрелять фрегат калеными ядрами (их калили в топках паровой машины броненосца). «Конгресс» наконец-то загорелся, а Бьюкенен позволил себе выйти на палубу с винтовкой – то ли он захотел лично поохотиться на снайперов унионистов, то ли у него были какие-либо иные замыслы, но коммодор практически сразу был ранен в бедро и его унесли под защиту брони.
Обстрел сидящей на мели «Миннесоты» броненосец южан начал уже вечером, причем из-за большой осадки не смог приблизиться к ней ближе, чем на милю. Добившись единственного попадания, в наступившей темноте броненосец отошел за пределы дальности реальной стрельбы. За полдня боя потери «Вирджинии» составили 2 убитых и 8 раненных. Еще 6 убитых и 11 раненных имелось на канонерках. Такой оказалась цена уничтожения двух крупных кораблей унионистов.