这个故事出自《史记》中的高祖本纪,讲述的是汉高祖刘邦斩蛇起义的故事。
汉高祖刘邦是沛县(今江苏沛县)丰邑(今江苏丰县)的中阳里人,原名叫刘季。他的父亲被称作刘太公,母亲被称作刘太婆。当年刘太婆在大泽旁边睡着了,梦见了与龙交合而孕,遂生了刘邦。
刘邦身材魁梧,高鼻梁,额角凸出,长着一脸漂亮的胡须,左腿上有七十二颗黑痣。他待人和蔼可亲,喜欢施舍,心胸开阔,从小心怀大志。长大后做了泗水的亭长,却经常戏弄县衙里的官员。他喜欢喝酒,爱恋女色。他常到王老太婆和武老婆子的酒店里赊酒喝,喝醉了就躺在那里睡。传说王老太婆和武老婆子曾看见他头上有龙的影子,她们感到很奇怪。而且每当刘邦来酒店喝酒,这天卖出的酒总要比平常多出好几倍。因此每到年终,这两家酒店常常把刘邦欠的账通通勾销。
县令的朋友吕公为了躲避仇人来到沛县,到县令家做客。沛县的豪绅、官员们听说后都去送礼祝贺。当时萧何在县衙里做功曹,主管收贺礼。他把送礼少的人安排坐在堂下。刘邦向来看不起县里的这些官员,自己便在礼单上写下了“贺钱一万”,实际上他身上一分钱也没带。吕公看到礼单后非常吃惊,便起身到大门口来迎接。吕公善于看相,他一见刘邦的相貌,二话不说,把他领到了堂上就坐,刘邦也不谦让。酒宴快要结束时,吕公对刘邦说:“看你的相貌,一定是一个非同凡响的人。我有个女儿,想让她去给你做妻子。”酒席散后,吕老太生气地对吕公说:“你不是要把女儿嫁给贵人吗?沛县县令跟你关系这么好,想要娶她你都不答应,今天为什么随便地就把她许配给了刘季?”吕公说:“这不是你们所能理解的啊。”于是吕公便把女儿嫁给了刘邦。这个女人就是后来的吕后,她生了孝惠皇帝和鲁元公主。
有一次,刘邦请假回家,看见吕后正带着两个孩子在田间除草,一个过路的老头向他们要水喝。吕后递给了老头一碗水,还给了一些吃的。老头很感激,说了一些大富大贵等充满祝福的话。
刘邦为县里押送民工去郦山,很多民工在路上便逃跑了。他估计到不了郦山民工就全跑光了,于是当他们走到丰邑西边的沼泽地带时,他让民工们休息喝酒,到了夜里便把他们都放了。这时民工中有十多个年轻小伙子没有走,表示愿意跟随刘邦。于是刘邦带着他们,连夜抄小道穿过沼泽地。忽然看见前面有一条大蛇挡住了去路,刘邦趁醉走上前去,拔剑把大蛇斩作了两段。又往前走了几里,酒性开始发作,刘邦便躺在地上睡着了。梦中,只见一个老婆婆在那里哭诉:“我的儿子白帝子被赤帝子杀了。”刘邦猛然惊醒,睁眼一看却不见了哭泣的老婆婆。
秦始皇到南方巡游,刘邦害怕,便逃到芒山、砀山(在今河南省永城县东北),隐藏在岩洞里。
公元前年秋天,陈胜等在蕲(今安徽省宿县)起事,占领陈(今河南省淮阳县)后自立为王,号称“张楚”。这时天下纷纷响应。沛县县令害怕了,也想率领沛县百姓响应陈胜,于是派樊哙去召集刘邦。
樊哙领着刘邦来到沛县,此时沛县县令却又反悔,下令紧闭城门,不放刘邦进来,还想杀掉萧何、曹参。萧何和曹参害怕,跳城出去投奔了刘邦。刘邦写信告诉沛县的父老们不要再为秦朝卖命了,劝他们杀掉县令,保全自己的家室。父老们见信后便率领青年人杀掉了县令,打开城门迎接刘邦,并推举他为沛县县令。萧何、曹参也一致推举刘邦。刘邦上任后,在沛县县衙祭祀了黄帝和蚩尤,同时杀牲取血涂祭了战鼓和军旗。刘邦崇尚红色,军旗便用了红色。这时刘邦已有二三千人,便领着他们去攻打胡陵(在今山东省鱼台县东南)、方与(在今山东省鱼台县西),而后又回到了丰邑。