late 13c. (late 12c. as a surname), from Old French lance "spear, lance, lance-length" (12c.), from Latin lancea "light spear, Spanish lance" (Italian lancia, Spanish lanza), a word said by Varro to be of Spanish origin, hence possibly from Celt-Iberian. The French word spread generally into the Germanic languages: German Lanze, Middle Dutch lanse, Dutch lans, Danish landse.
Lance corporal "private soldier performing the duties of a corporal" (1786) is a folk-etymology or partial nativizing of obsolete lancepesade "officer of lowest rank" (1570s), which is an Englishing of Old Italian lancia spezzata "old soldier," literally "broken lance."