Cleave holds a unique position in the English lexicon as perhaps the language's most celebrated contronym — a word that carries two diametrically opposite meanings. To cleave can mean to split apart violently (cleaving wood with an axe) or to cling together devotedly (cleaving unto one's spouse). This is not a case of metaphorical extension or semantic drift from a single meaning. The two senses derive from two entirely separate Old English verbs that, through the accidents of phonetic evolution, converged into a single modern form.
The splitting sense comes from Old English clēofan ("to split, cut, divide"), from Proto-Germanic *kleubaną. This is a strong verb with irregular past forms: clove or cleft in the past tense, cloven or cleft as past participle. The word is cognate with German klieben (archaic, "to split"), Dutch kluven ("to cleave"), and related to English "cleft" (a split) and "clever" (which may originally have meant "adept with a cleaver").
The clinging sense comes from Old English clifian or cleofian ("to stick, cling, adhere"), from Proto-Germanic *klibjaną. This was a weak verb (regular conjugation). It is cognate with German kleben ("to stick, glue") and related to English "clay" (sticky earth) and "clamber" (to climb by gripping). The biblical injunction in Genesis 2:24 — "Therefore shall a man leave his father and mother, and shall cleave unto his wife" — uses this sense,
The convergence of these two verbs happened gradually during the Middle English period, as phonetic changes eroded the distinctions between their forms. By Early Modern English, the two were nearly indistinguishable in their present-tense forms, though their past tenses and conjugation patterns remained somewhat different. The result is a word that linguists classify as an auto-antonym, contranym, or Janus word — named after the two-faced Roman god who looks in opposite directions simultaneously.
Other English contronyms exist — "sanction" (to approve / to penalize), "dust" (to remove particles / to apply particles), "oversight" (careful supervision / failure to notice) — but none has the dramatic etymological clarity of cleave, where two completely separate Germanic roots crashed into each other with opposite meanings perfectly preserved.