mid-12c., non "midday," in exact use, "12 o'clock p.m.," also "midday meal," from Old English non "3 o'clock p.m., the ninth hour from sunrise," also "the canonical hour of nones," from Latin nona hora "ninth hour" of daylight, by Roman and ecclesiastical reckoning about 3 p.m., from nona, fem. singular of nonus "ninth," contracted from *novenos, from novem "nine" (see nine).
The sense shift from "3 p.m." to "12 p.m." began during 12c., and various reasons are given for it, such as unreliability of medieval time-keeping devices and the seasonal elasticity of the hours of daylight in northern regions. In monasteries and on holy days, fasting ended at nones, which perhaps offered another incentive to nudge it up the clock. Or perhaps the sense shift was based on an advance in the customary time of the (secular) midday meal. Whatever the cause, the meaning change from "ninth hour" to "sixth hour" seems to have been complete by 14c. (the same evolution is in Dutch noen).
From 17c. to 19c., noon sometimes also meant "midnight" (the noon of the night).