Тем временем римский сенат послал на помощь Марку Крассу прибывшую морем из Испании воевавшую там против иберийских племен армию полководца Гнея Помпея и крупный воинский отряд под командованием Марка Лукулла, спешно вызванный из Фракии. Войска Лукулла высадились в Бриндизи, встав прямо перед спартаковской армией. Все вместе, эти римские войска превосходили армию восставших рабов.

Узнав об этом, Спартак решил не допустить соединения римских армий и разбить их поодиночке. Однако эта задача осложнялась тем, что армия восставших была еще раз ослаблена внутренними раздорами. От нее во второй раз отделился большой по численности отряд (примерно 12 тысяч человек, не пожелавший уходить из Италии через Бриндизий), который, как и отряд Крикса, был почти полностью уничтожен римлянами. Это сражение произошло вблизи Луканского озера, где победителем оказался Марк Красс.

Спартак решительно повел свою армию численностью около 60 тысяч человек навстречу легионам Марка Красса как наиболее сильному из противников. Вождь восставших стремился удержать в своих руках инициативу в войне против Рима. В противном случае его ожидало только полное поражение и гибель созданной им армии. Противники встретились в южной части провинции Апулия северо-западнее города Таренто в 71 г. до н. э.

По некоторым сведениям, восставшие рабы по всем правилам римского военного искусства решительно атаковали римскую армию в ее укрепленном походном лагере. Римский историк Аппиан писал: «Произошла грандиозная битва, чрезвычайно ожесточенная, вследствие отчаяния, охватившего такое количество людей».

Перед битвой Спартаку, как военному вождю, подвели коня. Но он, выхватив меч, заколол его, сказав, что в случае победы его воинам достанется много хороших коней римлян, а в случае поражения он не будет нуждаться и в своем коне. После этого Спартак повел свою армию на легионы Марка Красса, которые тоже жаждали победы над «презренными» в римском обществе рабами.

Битва была ожесточенной, поскольку побежденным в ней не приходилось ждать пощады от победителей. Спартак сражался в первых рядах своих воинов и пытался пробиться к самому Марку Крассу, чтобы сразиться с ним. Он убил двух центурионов и немало легионеров, но, «окруженный большим количеством врагов и мужественно отражая их удары, был, в конце концов, изрублен в куски». Так описывал его гибель знаменитый Плутарх. Ему вторит Флор: «Спартак, сражаясь в первом ряду с изумительной отвагой, погиб, как подобало бы только великому полководцу».

Армия восставших после стойкого и поистине героического сопротивления была разбита, большая часть ее воинов пала смертью храбрых на поле брани. Легионеры не даровали жизни раненым рабам и по приказу Марка Красса добивали их на месте. Победители так и не смогли найти на поле битвы тело погибшего Спартака, чтобы тем самым продлить свое торжество.

Около 6 тысяч восставших рабов бежали из Апулии после понесенного поражения в Северную Италию. Но там они были встречены и уничтожены испанскими легионами Гнея Помпея, который как ни торопился, но так и не успел к решающему сражению. Поэтому все лавры победителя Спартака и спасения Рима достались Марку Крассу.

Однако с гибелью Спартака и разгромом его армии восстание рабов в Древнем Риме не закончилось. Разрозненные отряды восставших рабов, в том числе и воевавших под знаменами самого Спартака, в течение нескольких лет еще действовали в ряде областей Италии, в основном на ее юге и Адриатическом побережье. Местным римским властям пришлось приложить немало усилий для их полного разгрома.