寒食节应为远古时期人类的火崇拜。古人的生活离不开火,但是,火又往往给人类造成极大的灾害,于是古人便认为火有神灵,要祀火。各家所祀之火,每年又要止熄一次。然后再重新燃起新火,称为改火。改火时,要举行隆重的祭祖活动,将谷神稷的象征物焚烧,称为人牺。相沿成俗,便形成了后来的禁火节,后来演变成寒食节。 到了春秋时代,寒食节又与晋国的晋文公和他的大臣介子推扯上的关系。
据说有一年,晋文公重耳在断伙绝粮的流亡生活中生了大病,贫病文加,使他十分困苦。为了给重病体弱的重耳增添营养,介子推把自己腿上的肉割下来煮成肉汤给重耳吃,使他恢复了健康。晋献公病死后,他的几个儿子为争夺王位,而同室操戈,重耳在狄国、齐国、秦国流亡十九年后,在秦国国君穆公的帮助下,兴戎起衅,打败了已当上晋国国君的公子围(重耳的异母兄弟),得立为晋国国君,史称晋文公。
重耳当上了国君之后,对跟随他流亡过的人都按功封官行赏,可是唯独把对他有特殊帮助的介子推忘记了。介子推十分伤心,决心不再见重耳。他背着年迈的母亲,到家乡绵山(今山西省介休县东南)隐居去了。介子推的手下人知道了代抱不平,在宫门上贴了一张无名帖,上面写着“有一条龙,奔西逃东。好几条蛇,帮它成功。龙飞上天,蛇钻进洞。剩下一条,流落山中”。
晋文公看了恍然大悟,他回想起在流亡国外期间,介子推对自己忠心耿耿,如今做了国君忘记了对他奖赏,心里大力不安。接着,重耳赶紧派人找介子推。不久,差人禀报介子推已进绵山隐居了。深感惭愧的晋文公亲自带人去绵山寻找,然而介子推却避而不见。
晋文公知道介子推是个大孝子,他根据别人的建议,火烧绵山,留出一条小道,想趁林中起火后,介于推母子定会出山避火的。可是,一连烧了三夭三夜,数十里森林被火烧为焦土,仍未见介子推母子的人影。大火熄灭之后,人们发现他母子双双抱庄一棵大树烧死了。
晋文公对此内疚于心,十分惋惜,便下令把介子椎母子葬于绵山,改绵山为介山,并修建子推祠堂。后人又把界休县改为介休县。介子推死的时候,正值清明节的前一天。因为他是火饶死的,晋国人为了纪念他,就在他逝世那天不举烟火,进冷食。后来,人们又干脆把它定为“寒食节”。到了唐朝时,寒食节与清明节合并,寒食禁火习俗逐渐消失。