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