Войска Антония, стоявшие в зимних лагерях, растянулись по всему западному побережью Пелопоннеса до города Мефоны на его южной оконечности. Здешние земли не могли кормить их вечно, требовалось везти запасы из-за границы. Самой ранней весной, несмотря на ветра, из Египта вышли корабли с зерном. Агриппа тоже решил бросить вызов непогоде. Неожиданно напав с моря, он захватил Мефону, поставил там мощный гарнизон и разместил часть своего флота, наполовину отрезав противнику подвоз продовольствия. Октавиан переправился на остров Керкиру (современный Корфу) и оттуда высадил войска на материк, в двух милях от Антония. Затем он быстро двинулся к югу и занял северный мыс у входа в Амбракийский залив.
Антоний совершил ошибку, оказавшуюся роковой. Когда он добрался из Патр до залива, Октавиан уже построил большой укрепленный лагерь и две стены от лагеря до моря и тем самым обеспечил безопасный подвоз продовольствия и подкреплений. Агриппа же взял остров Левкаду и теперь контролировал вход в залив и запер там вражеский флот. Громоздкие корабли Антония могли выходить из пролива только по нескольку штук и были уязвимы для массированных атак более легких и подвижных судов Агриппы, особенно в мелких прибрежных водах. Антоний переправился на северный берег залива, чтобы осадить лагерь Октавиана, но ему не удалось ни обойти его с флангов, ни прорваться за укрепления, потому что он не смог переправить с собой большие осадные машины.
Агриппа еще подлил масла в огонь, захватив после морского сражения Патры, где зимовал Антоний. Затем поплыл на восток мимо Дельф и взял Коринф, который Антоний явно не позаботился должным образом защитить, хотя по Коринфскому перешейку шел последний оставшийся маршрут снабжения его войск.
Когда лето было в разгаре, Антоний, страдая от нехватки продовольствия и изводимый малярийными комарами, осаду снял и вернулся в лагерь на южном мысу. Местным жителям-грекам (среди них был дед Плутарха) велели доставлять войскам еду — столько, сколько они могли принести на спинах по крутым горным тропам. Других, включая несовершеннолетних мальчиков, силой забирали в гребцы.
Дезертирство в бездействующей армии Антония достигло угрожающих масштабов. Восточные правители, включая Ирода, отозвали свои войска в надежде договориться с Октавианом. Даже Домиций Агенобарб, заболев лихорадкой, уехал, не сказав ни слова. Антоний отослал ему его вещи — в знак выдающихся заслуг Домиция и чтобы продемонстрировать собственное великодушие; жест, пропавший втуне, поскольку болезнь оказалась смертельной.
Итак, армия Антония, состоявшая из девятнадцати легионов, не считая союзных войск, не имела задачи на наступление, а Октавиан успешно использовал для обороны особенности рельефа и не собирался рисковать и давать большое сражение на открытой местности. И пока Антоний не вызволит из этого положения себя и свою армию, она останется столь же бесполезной в тактическом плане, как и его огромный флот, недостатки которого с точки зрения как маневренности, так и командования столь беспощадно обнажил Агриппа. Так, второй раз за пять лет Антоний повел крупные силы в далекую страну, на этот раз — Италию, но даже не добрался до места. Во второй раз он сам завел себя в тупик, из которого единственный выход — прорываться обратно и дожидаться перемен к лучшему, пока не стало неизбежным унизительное поражение. Считая Мутину и Брундизий, Антоний в четвертый раз начал большую осаду и не смог довести до конца — ему самому пришлось искать спасения. Кажется, Октавиан, если подумать, был не такой уж и плохой воин.
С приближением осени Антоний созвал военный совет. Дион пишет, что на совете решалось: остаться и биться до конца или же отойти и возобновить действия в другом месте. Однако единственным реальным вопросом к тому времени оставалось, как им отступать — морем или сушей. Если Антоний сам поведет легионы, то рискует потерять деморализованный флот, а значит, и возможность скорого вторжения в Италию… но так он хотя бы сохранит войско. Клеопатра же хотела уйти морем, забрать свои оставшиеся шестьдесят кораблей и военную казну. Так можно было спасти часть флота и сохранить контроль над легионами. Клеопатра одержала верх над полководцем Канидием Крассом; Красс советовал Антонию оставить флот и передислоцировать войска в Македонию.
Клеопатра рассуждала вполне логично, только упустила из виду эффект, который произведет их бегство морем на оставшиеся на берегу легионы, не говоря уже о сражающихся моряках. Антонию было бы гораздо спокойнее вести войско самому, но он отдал приказ Канидию — уводить легионы на восток, когда кончится морское сражение. Чтобы не оставлять ничего противнику, Антоний велел сжечь все корабли, из-за нехватки людей не участвующие в битве. Октавиану, находившемуся в своем лагере, открылось зрелище грандиозного пожара на той стороне залива: ему стало ясно, что вражеский флот уходит и возвращаться не собирается.
Рассказы древних историков о сражении при Акции не слишком-то понятны, особенно описание того, как Клеопатра в самой середине сражения вдруг запаниковала и на всех парусах пустилась домой. Здесь присутствует не столько анализ событий, сколько предрассудки против Египта и против женской власти. Сам факт перевозки казны, которая могла легко утонуть или оказаться у врагов, убедительно доказывает, что и царица, и сам Антоний обдумывали именно такой сценарий: эскадра царицы уходит первой, а остальной флот ее прикрывает, пока она вместе с грузом не окажется в безопасности. Оба, несомненно, питали какие-то надежды выиграть бой, избежать которого уже не могли, но главное — они хотели прорвать блокаду и вновь соединиться где-нибудь восточнее. Провести еще одну зиму в нездоровом Амбракийском заливе было немыслимо.
К тому времени Антоний, по-видимому, оставил все планы немедленного вторжения в Италию. Утверждать, что он проиграл сражение при Акции до того, как начал, означало бы слишком утрировать факты. Но если бы Антоний не одолел Агриппу в открытом море — а так скорее всего и случилось бы, — он смог бы подтвердить приказ ожидающим его войскам вернуться в Македонию или даже в Азию, пока он и Клеопатра по условленному сигналу тоже отступят — поплывут обратно вокруг Пелопоннеса. Затем Клеопатра могла вернуться в Александрию, а Антоний — передислоцировать войска, переведя легионы из других провинций, и отразить наступление Октавиана.
Когда утром 2 сентября они вышли из залива, Агриппа их уже встречал. Гребцы Антония ждали на веслах, пока суда Клеопатры заняли место в арьергарде — вероятно, чтобы не допустить дезертирства с передовых кораблей, на которых было двадцать тысяч солдат — большей частью союзников — и среди них лучники. Корабль Антония, находившийся на правом фланге, оказался против левого фланга противника, возглавляемого Агриппой, причем противник был многочисленнее и уже успел продемонстрировать превосходящие боевые качества и искусство судовождения. Когда во время битвы среди кораблей образовался проход, царица дала сигнал и двинулась вперед вместе со всей своей эскадрой. Скорее всего она просто начала действовать раньше, чем нужно, но, упусти она время, проход мог бы закрыться. Антоний перешел с флагмана на более легкое судно и устремился за ней, предав, как считает Плутарх, солдат, которые продолжали сражаться и гибнуть за него. За шестьюдесятью кораблями царицы двинулись около сорока кораблей Антония. Он перешел на ее корабль и первые дни просидел на носу судна, будучи даже не в состоянии разговаривать.
Октавиана, командовавшего правым флангом, должно быть, поразило это бегство — если не Клеопатры, то бегство Антония несомненно. И наверное, только когда паруса скрылись за горизонтом, Октавиан поверил окончательно: его противник бросил войско и возвращаться не собирается. Но и тогда он еще не знал, что выиграл не просто сражение, а войну. Увидев, как главнокомандующий бежит, бросая их на волю судьбы, солдаты Антония стали сдаваться. Часть эскадры, стоявшая прямо напротив Октавиана, так быстро спустила знамена, что ее командир получил безусловное помилование — тот самый Сосий, бывший консул, который в начале 32 года до нашей эры нападал на Октавиана в сенате.