Все это категорически не нравилось римлянам: Антоний вел себя как восточный деспот, а не как гражданин великой республики, позволяя себе выходки, несовместимые с жестким кодексом римской морали. Октавиан не без оснований подозревал Клеопатру в желании завладеть всем Средиземноморьем: с помощью легионов и флота, которым командовал Антоний, она могла бы начать войну с Римом, и кто знает, как бы тогда сложилась история. Он без устали осыпал проклятиями коварную египтянку, околдовавшую и покорившую великого римлянина, и в конце концов сам объявил ей войну.
Антоний обладал огромным флотом из тяжелых боевых кораблей и большой армией, к его услугам были все ресурсы богатых малоазиатских провинций. Но присутствие Клеопатры, изнеженная обстановка ее двора и непрестанные роскошные празднества расслабляли его. Вместо того, чтобы заняться подготовкой войск, он тратил время на развлечения и увеселения, а его солдаты, озлобленные интригами Клеопатры или испуганные слухами о ее мстительном характере, потихоньку перебегали к Октавиану; в его лагерь сбежал даже один из вернейших сторонников Антония Квинт Деллий, которому рассказали, что из-за неудачной шутки Клеопатра собирается подослать к нему убийц.
В Риме росло недовольство прежним всеобщим любимцем. Октавиан – в обход всех законов – обнародовал хранившееся у весталок завещание Антония, в котором он признавал Клеопатру своей законной супругой, ее детей – своими, а себя велел похоронить в Египте, рядом с Клеопатрой. Такое отсутствие патриотизма у прежнего триумвира вызвало бурю недовольства среди римлян. В отместку Антоний повелел выгнать Октавию, сестру своего врага, из дома – раз они были в разводе, она не имела права там находиться. Это вызвало среди римлян настоящую бурю: Октавия пользовалась всеобщим уважением. Если раньше Рим ненавидел Клеопатру, то теперь он возненавидел Антония.
Войска Октавиана заблокировали армию Антония в Амбракийском заливе. По настоянию Клеопатры он решил дать морской бой: два флота сошлись в битве при Акциуме 2 сентября 31 года до н. э. Поначалу перевеса не было ни у одной из сторон: у Антония суда были мощнее и лучше защищены, зато корабли Октавиана оказались маневреннее, а их команды – опытнее. Бой вяло протекал несколько часов, как внезапно флагманский корабль, на котором находилась Клеопатра, а следом за ним и все египетские корабли развернулись и покинули поле боя. Историки расходятся в оценках этого поступка: одни пишут, что Клеопатра, осознавшая неминуемость поражения, пыталась спасти все, что удастся. Другие говорили, что у слабой женщины просто сдали нервы. Третьи сочли, что Клеопатра решила бросить Антония на растерзание врагу, выторговав себе таким образом милость Октавиана. Четвертые считают, что это был заранее спланированный маневр, но Антоний в пылу битвы забыл об этом или просто испугался за судьбу любимой женщины. Как бы то ни было, Антоний, увидев маневр египетских кораблей, бросил флот и в одиночку последовал за возлюбленной. Плутарх писал: «В этот момент Антоний показал миру, что его поступками перестали руководить мысли и побуждения вождя и мужчины… Антоний, поспешая за Клеопатрой, упустил победу из рук». Битва была проиграна: флот сдался, а скоро к Октавиану перешла и оставшаяся без военачальника армия.