The only free and comprehensive online etymological dictionary of the Spanish language
caballero m. (Noun, Adjective) "gentleman," "cowboy," "knight;" "gentlemanly"

11th cent. From Late Latin caballarius "horseman," from Latin caballus "horse" (whence caballo) and -arius, an agent-forming suffix (see -ero).

Also the origin of the surnames Caballero, Caballeros.

Romance: Western Vulgar Latin: Asturian caballeru, Portuguese cavaleiro, Galician cabaleiro, Catalan cavaller, French chevalier, Italian cavaliere; Eastern Vulgar Latin: Romanian cavaler; Sardinian cabaglieri
caballo (Noun) "horse"

10th cent. From Latin caballus 'id.' Of non-Indo-European origin. Borrowed from an unknown language from Asia with the root *kab- (compare Turkish käväl "horse;" Russian kobýla "mare;" Old Church Slavonic koņь "horse"). Further consider Semitic words for camel with a structure *gam- (Hebrew gāmāl), hypothesized to be borrowed from an unattested Sumerian word.

Also the origin of the surnames Caballero, Caballeros, first given to horsemongers.

Romance: Western Vulgar Latin: Asturian caballu, Portuguese cavalo, Galician cabalo, Catalan cavall, French cheval, Italian cavallo; Eastern Vulgar Latin: Aromanian cal, Romanian cal; Sardinian cadhu; Extra-Comparanda: Albanian kalë

Hellenic: Ancient Greek καβάλλιον (kabállion) "workhorse"
cabello m. (Noun) "hair"

11th cent. From Latin capilla 'id.' Of unknown origin. Possibly from a non-Indo-European language with a root *kap- (see cabo).

Also the origin of the surname Cabellos.

Romance: Western Vulgar Latin: Asturian cabellu, Portuguese cabelo, Galician cabelo, Catalan cabell, French cheveu, Italian capello
caber (Verb) "to fit"

12th cent. From Latin capere "to take in," "to capture." From Proto-Italic *kap-i- 'id.' Of unknown origin.

Romance: Western Vulgar Latin: Asturian caber, Portuguese caber, Galician caber, Catalan cabre

Germanic: East Germanic *habēn-: Gothic haban "to have;" North Germanic *habēn-: Old Norse hafa 'id.;' West Germanic *habēn-: Old High German habēn 'id.,' Old Saxon hebbian, Old English habban (English to have)

Balto-Slavic: Baltic *kh2-en-p-e-: Latvian kàmpt "to obtain"

Albanian: kap "to seize" (kapa)
cabeza f. (Noun) "head"

10th cent. From Vulgar Latin *capitia 'id.,' from caput "head" (see cabo) and -itia, an abstract noun-forming suffix (see -eza).

Also the origin of the surname Cabezas, first applied as a nickname to local leaders known for their intelligence.

Romance: Western Vulgar Latin: Asturian cabeza, Portuguese cabeça, Galician cabeza, Catalan cabeç, French chevet, Italian cavezza

Western Vulgar Latin reanalyzed the neuter plural as a feminine singular noun (see arma and hoja).
cabezo m. (Noun) "mountain peak"

14th cent. From Latin capitium 'id.' From caput "head" (see cabo).

Romance: Western Vulgar Latin: Asturian cabezu, Portuguese cabeço, Galician cabezo
cabo m. (Noun) "cape"

10th cent. From Latin caput "head." In Vulgar Latin caput may have meant the end as well as the beginning, as seen in Italian far capo "to commence." From Proto-Italic *kaput 'id.' From an unknown pre-Indo-European substrate language *kap- "cup."

Romance: Western Vulgar Latin: Asturian cabu, Portuguese cabo, Galician cabo, Catalan cap, French chef, Italian capo; Eastern Vulgar Latin: Aromanian cap, Romanian cap

Celtic: Goidelic *kapuku-: Old Irish cúäch "cup;" Brythonic *kapuku-: Middle Welsh cawg 'id.'

Germanic: East Germanic *haubeda-: Gothic haubiþ; North Germanic *habuda-: Old Norse hǫfuþ; West Germanic *haubeda-: Old High German haubit, Old Frisian hāved, Old English hāved (English head); West Germanic *habed-: Old English hafud

Re: Beekes (1996), the word seems borrowed from another language. Cognates in other languages point to *a in Proto-Indo-European - a vowel which did not exist. If one reconstructs *kh2p- we must account for a missing full-grade **keh2p-. An incongruous a/au variation (Old English hafut versus Gothic haubiþ) cannot be satisfactorily explained by contamination and there is no reason to assume an ablaut that ended in a stop. The suffix -ut in Latin caput is utterly alien to Italic tongues except as the perfect participle, which makes little sense. Admittedly it could be a borrowing from Celtic, but that does nothing to explain the suffix *-it in Germanic, as evidenced in Gothic haubiþ. The most parsimonious explanation is that suffixes *-ut and *-it are remnants from a non-Indo-European language. As a final point, k-initial plain velars words are rare in Proto-Indo-European. Their presence should raise suspicion. On the other hand, Kroonen (2014) believes the words are of native Indo-European stock; he assumed variation in *a/au was due to supplanting the old proterodynamic paradigm with -au- (taken from the oblique form).

"Given this situation [above] - which has always been clear - it seems certain the word is a loan. I find it surprising that I nowhere have seen even the suggestion that the word could be non-IE." ~ R. Beekes, "Ancient European Loanwords" (1996)
cabrón m. (Noun) (vulgar) "motherfucker;" "he-goat"

13th cent. From capra and augmentive suffix -ón.

Romance: Western Vulgar Latin: Asturian cabrón "motherfucker," "cuckold," Portuguese cabrão "billygoat," "cuckold," Galician cabo, Catalan cap, French chef, Italian cabrone "billygoat"
cacho (1) m. (Noun) "piece," "slice," "chunk"

Very late 15th cent. Originally meaning a pottery sherd. From Vulgar Latin *cacculus "pot," from Late Latin caccubus 'id.' Borrowed from Ancient Greek κάκκαβος 'id.' Of unknown origin, however compare Akkadian kukkubbu, kukkupu "rhyton," "pig's stomach" - if such a similarity is due to anything more than coincidence, we may posit an origin in a Semitic source.

Romance: Western Vulgar Latin: Asturian cachu, Portuguese caco, Galician cacho
cacho (2) m. (Noun) "surmullet"

From Vulgar Latin *cattulus "puppy," from Latin catulus "animal young." From Proto-Italic *kat-elo- 'id.' Of uncertain origin, unlikely to be from Proto-Indo-European.

Romance: Western Vulgar Latin: Portuguese cátulo

Italic: Umbrian katel "sacrificial animal"

Germanic: North Germanic: Old Icelandic haðna "kid;" West Germanic: Middle High German hatele "goat"

Balto-Slavic: West Slavic: Czech kót "breeding period," Polish kot (unclearly defined by Derkson (2015) as "place where forest animals young"); South Slavic: BCS kȏt "breeding period," Slovene kòt "brood"