Det är en ovanligt het sensommar på Själland omkring år 670, mitt under järnåldern. Östgötahövdingen Ulvbjörn och den skånska stormannadottern Tuva, som han räddat från att dö på Irland, har kommit till den rika byn Lejre. Där ska hon giftas bort med Frode Halvdansson, danernas härskare. Äktenskapet är politiskt: Tuvas far Rolf vill stärka alliansbanden till Frode och säkra freden i länderna vid Öresund. Men Tuva avskyr Frode och vill absolut inte gifta sig.
Morgonen efter Ulvbjörns och Tuvas ankomst hittas Rolf mördad. Någon har tagit sig in i hans rum och dödat honom genom upprepade spjutstötar rakt genom kroppen. Både Tuva, som är arg på sin far för tvångsäktenskapet, och Ulvbjörns egen son Grimoald, som anlänt från Frankland, misstänks för brottet. Det enda sättet att rentvå dem är att hitta mördaren, och Ulvbjörn ger sig ut på en jakt som snart visar sig bli både svårare och farligare än han kunnat förutse. Någon eller några är uppenbarligen beredda att gå över lik för att hindra sanningen från att komma fram.
Illdåd är Dick Harrisons tredje historiska spänningsroman, och en fristående fortsättning på Niding (2010).