1540s, coronell, from M.Fr. coronel (16c.), modified by dissimilation from It. colonnella "commander of a column of soldiers at the head of a regiment," from compagna colonella "little column company," from L. columna "pillar" (see hill). English spelling modified 1580s in learned writing to conform with the Italian form (via translations of Italian military manuals), and pronunciations with "r" and "l" coexisted 17c.-18c., but the earlier pronunciation prevailed. Sp. coronel, from Italian, shows a similar evolution by dissimilation.This is how I understand it: we used to to spell colonel as "coronell." It comes from the French word "coronel." The French got the word from the Italian word "colonnella," but they messed it up and changed it to "coronell." Years later, the English spelling changed the "r" to the "l", but people kept pronouncing it the old way.
And there you go.