Постоянно опасаясь сосредоточения французских сил на Тахо, англичане решили так энергично действовать между Мурсией, Гренадой, Гибралтаром и Кадисом, чтобы французы, даже взяв Бадахос, не решились уйти из Андалусии. План был превосходен, а многочисленные ошибки французов облегчили его исполнение. Мюрат в Неаполе подготовился к высадке на Сицилию, но отложил экспедицию, сочтя свои средства недостаточными. Вместо того чтобы держать свою армию наготове у Мессинского пролива, он распустил ее и по возвращении в Неаполь совершил досадный промах, объявив об отказе от плана высадки, вследствие чего англичане безбоязненно отрядили в Гибралтар 4-5 тысяч своих лучших солдат. Эти войска, в соединении с войсками, уже имевшимися в Гибралтаре, и с частью гарнизона Кадиса, составили в лагере Сан-Роке целую армию в 20 тысяч человек: 8-9 тысяч англичан и 12 тысяч испанцев. Чтобы выстоять против нее, Виктор должен был присоединить генерала Себастиани. Но генерал Блейк, согласно плану англичан и испанцев, причинял сильнейшее беспокойство в Мурсии, куда и направился генерал Себастиани, попавшись в ловушку.
Англо-испанская армия из Гибралтара должна была делать вид, будто движется на Медина-Сидония вглубь Андалусии, затем круто повернуть на остров Леон и зайти в тыл маршалу Виктору, тогда как гарнизон Кадиса будет атаковать его в лоб, захватывая все посты, формирующие линию осады. Флот должен был в то же время предпринять высадку на рейде и завладеть редутами, возведенными французами вдоль моря.
Задуманный план превосходно выполнялся и мог бы привести к чрезвычайно печальным последствиям, если бы не энергия Виктора. Вынужденный охранять свои главные редуты и оставить посты между Кадисом и Севильей, Виктор располагал от силы 8 тысячами людей. Он оставил возможный минимум людей на постах линии осады, направил 2500 человек дивизии Виллата к Санти-Петри для противостояния гарнизону Кадиса и с оставшимися 5 тысячами из дивизий Леваля и Рюффена и 500 всадниками выдвинулся с левого фланга в направлении Гибралтара, навстречу неприятельской армии, численность которой не была ему известна.
В это время неприятель, произведя отвлекающее движение на Каса-Вьеха, повернул к морскому побережью и передвинулся к Санти-Петри, где надеялся соединиться с гарнизоном острова Леон, чтобы напасть затем на французов, закрывшихся в линиях. Но комбинации маршала Виктора расстроили все эти расчеты.
Третьего марта генерал Виллат внезапно атаковал испанцев, которые перебросили мост через оконечность канала Санти-Петри и уже перешли канал, и отбросил их на остров Леон, нанеся им урон в сотню убитых и сотню утонувших и захватив около четырех сотен пленных. Затем он занял позицию у канала, поджидая появления английской армии, на поиски которой отправился Виктор. Четвертого марта ее видели двигавшейся вдоль берега, а 5-го она появилась на песчаных высотах, спиной к морю, расположив левый фланг в Санти-Петри, а правый — в Барросе.
Виктор перешел в наступление. Оставив на правом фланге у канала Виллата, который оттягивал на себя часть неприятельских сил, он энергично направился к песчаным высотам, занятым неприятелем. К сожалению, артиллерия, увязнув в песке, не смогла оказать всех услуг, которых следовало от нее ожидать; что до пехоты, то она стремительно атаковала английские линии, построившись в две колонны под командованием генералов Леваля и Рюффена и выстояв под смертоносным встречным огнем в упор. Она опрокинула первую линию на вторую, но остановилась при виде еще трех линий, ибо англичане и испанцы, оставив без внимания Виллата, сосредоточились плотной массой в четыре параллельных линии. Не было никаких шансов силами 5 тысяч человек разбить 2С* тысяч, особенно когда 9 тысяч из них англичане. Вдобавок, хотя неприятель и потерял убитыми и ранеными около 2 тысяч человек, потери французов составили почти 1200 человек, и продолжение боя подвергло бы армию гибельной опасности. Поэтому Виктор отошел несколько назад и, в ожидании Виллата, готовился возобновить борьбу, несмотря на опасность того, что высадившаяся армия попытается уйти с берега вглубь Андалусии.