Middle English slēn, from Old English slean "to smite, strike, beat," also "to kill with a weapon, slaughter" (class VI strong verb; past tense sloh, slog, past participle slagen), from Proto-Germanic *slahanan "to hit" (source also of Old Norse and Old Frisian sla, Danish slaa, Middle Dutch slaen, Dutch slaan, Old High German slahan, German schlagen, Gothic slahan "to strike"). The Germanic words are said to be from PIE root *slak- "to strike" (source also of Middle Irish past participle slactha "struck," slacc "sword"), but, given certain phonetic difficulties and that the only cognates are Celtic, Boutkan says the evidences "point to a North European substratum word."
The verb slēn displays many nondialectal stem variants because of phonological changes and analogical influences both within its own paradigm and from other strong verbs. [Middle English Compendium]
Modern German cognate schlagen maintains the original sense of "to strike." Meaning "overwhelm with delight" (mid-14c.) preserves one of the wide range of meanings the word once had, including, in Old English, "stamp (coins); forge (weapons); throw, cast; pitch (a tent), to sting (of a snake); to dash, rush, come quickly; play (the harp); gain by conquest."
early 13c., from Old English (ge)slegen, past participle of slean "to smite, strike, beat" (see slay (v.)). The noun meaning "those who have been slain" is attested from mid-14c.
c. 1300, "the killing of a person, murder; the killing of large numbers of persons in battle;" mid-14c., "the killing of a cattle or sheep for food;" from a Scandinavian source akin to Old Norse slatr "a butchering, butcher meat," slatra "to slaughter," slattr "a mowing," related to Old Norse sla "to strike," from Proto-Germanic *slagan- (see slay (v.)).
The form was perhaps influenced by Middle English slaught "killing, manslaughter, carnage; butchery of animals," the native cognate, from Old English sliht, sleht, slieht "stroke, slaughter, murder, death; animals for slaughter;" as in sliehtswyn "pig for killing."