刘邦于丰县中阳里,和卢绾同年同月同日生,两家非常要好。幼时和卢绾交好。年龄稍长后,也不喜欢下地劳动,所以常被父亲训斥,说他不如自己的哥哥会经营,日后在统一天下之后,刘邦还拿此事和刘太公开玩笑:“您看我和刘仲(刘邦的哥哥)到底谁创下的基业大?”
大人们都认为刘邦没有大志,不能治理商业,也不能干活,没有收入。但刘邦依然我行我素。刘邦少慕魏公子信陵君无忌的行为,很想投入信陵君门下。于是西行至大梁,但信陵君已死,而故信陵君门客张耳亦召纳门客,于是至外黄投入到张耳门下,两人结成知己。及魏国灭亡,张耳成为秦廷通缉犯,门客皆散去。刘邦回到家乡沛县。后来,刘邦做了泗水的亭长(亭长是管十里以内的小官),时间长了,和县里的官吏们混得很熟,在当地也小有名气。刘邦的心胸很大,在一次送服役的人去咸阳的路上,碰到秦始皇大队人马出巡,远远看去,秦始皇坐在装饰精美华丽的车上威风八面,羡慕得他脱口而出“大丈夫就应该像这样啊!”
(大丈夫当如是也)刘邦的妻子是吕公的女儿吕氏,名叫吕雉。吕公和家乡的人结下冤仇后来到了小沛定居,因为沛令和他是好友。在刚刚到沛县时,很多人便听说了他和县令的关系,于是,人们便来上门拜访,拉拉关系,套套近乎。刘邦听说了也去凑热闹,当时主持接待客人的是在小沛担任主簿的萧何,他宣布了一条规定:凡是贺礼钱不到一千钱的人,一律到堂下就座。刘邦根本不管这些,虽然他没有带一个钱去,他却对负责传信的人说:“我出贺钱一万!”
吕公听说了,赶忙出来亲自迎接他。一见刘邦气宇轩昂,与众不同,就非常喜欢,请入上席就座。这次刘邦不但白吃一顿饭,酒足饭饱之后,吕公又将他盛情留下,提出将自己的女儿嫁给他为妻。刘邦巴不得成这门亲事,征得父母同意之后,便和吕氏结了婚,这就是以后历史上有名的吕后。汉惠帝刘盈就是她和刘邦的儿子,还有一个孩子就是鲁元公主,她嫁给了柔弱却孝顺的张敖。刘邦以亭长的身份为泗水郡押送徒役去骊山,徒役们有很多在半路逃走了。刘邦估计等到了骊山也就会都逃光了,所以走到芒砀山时,就停下来饮酒,趁着夜晚把所有的役徒都放了。刘邦说:“你们都逃命去吧,从此我也要远远地走了!”
徒役中有十多个壮士愿意跟随他一块走。刘邦乘着酒意,夜里抄小路通过沼泽地,让一个在前边先走。走在前边的人回来报告说:“前边有条大蛇挡在路上,还是回去吧。”
刘邦已醉,说:“大丈夫走路,有什么可怕的!”
于是赶到前面,拔剑去斩大蛇。大蛇被斩成两截,道路打开了,继续往前走了几里,醉得厉害了,就躺倒在地上。后边的人来到斩蛇的地方,看见有一老妇在暗夜中哭泣。有人问她为什么哭,老妇人说:“有人杀了我的孩子,我在哭他。”
有人问:“你的孩子为什么被杀呢?”
老妇说:“我的孩子是白帝之子,变化成蛇,挡在道路中间,如今被赤帝之子杀了,我就是为这个哭啊。”
众人以为老妇人是在说谎,正要打她,老妇人却忽然不见了。后面的人赶上了刘邦,刘邦醒了。那些人把刚才的事告诉了刘邦,刘邦心中暗暗高兴,更加自负。那些追随他的人也渐渐地畏惧他了。在公元前209年,秦末农民起义爆发,陈胜、吴广率领起义军攻占了陈州(今河南淮阳)以后,陈胜建立了“张楚”政权,和秦朝公开对立。这时,沛县的县令也想起来响应陈胜、吴广的起义,以继续掌握沛郡政权。萧何和曹参当时都是县令手下的主要官吏,他们劝县令将本县流亡在外的人召集回来,一来可以增加力量,二来也可以杜绝后患。县令觉得有理,便让刘邦的挚友樊哙把刘邦找回来,刘邦便带人往回赶。这边的县令却又后悔了,害怕刘邦回来不好控制,弄不好还会被刘邦所杀,等于是引狼入室。所以,他命令将城门关闭,还准备捉拿萧何和曹参。萧何和曹参闻讯赶忙逃到了城外,刘邦将信射进城中,鼓动城中的百姓起来杀掉出尔反尔的县令,大家一起保卫家乡。百姓对平时就不太体恤他们的县令很不满,杀了县令后开城门迎进刘邦,又推举他为沛公,领导大家起事。刘邦便顺从民意,设祭坛,立赤旗,自称赤帝的儿子,领导民众举起了反秦大旗。这一年已经是前209年10月,刘邦已经48岁了。秦末农民战争中还有一支强大的力量,就是原来楚国贵族的后代项籍(即项羽项羽名籍)和叔父项梁,在吴中(今江苏的苏州市)起兵,兵力很快达到了近万人。刘邦起事后,立即开始攻略周边郡县,先是攻胡陵、下方与,与泗水监平大战于丰,破之。这时泗水卒史周苛、周昌兄弟加入到刘邦阵营。接着令雍齿守丰,自己率领军队进入薛,与秦军大战。郡守壮战败,逃至戚,沛公左司马曹无伤追斩壮。接着刘邦率军再至亢父、方与,以曹参守方与。这时魏相周市来攻方与,曹参率军迎之。但是雍齿却据丰降魏。刘邦大怒,进攻丰。雍齿据城以守,沛公军不能下丰,恰在此时,刘邦生病,于是还军至沛。这时,刘邦闻东阳宁君与秦嘉立景驹为楚假王,在留(今沛县东南),于是投奔景驹,欲借军攻丰。在投奔景驹的路上,遇见了也要投奔景驹的张良。两人于是兵合一处。张良与刘邦二人见面后,一交谈,两人大有相见恨晚之意。于是张良放弃投奔景名驹的念头,直接投奔到刘邦这边。刘邦以张良为厩将。这时秦将章邯派别将司马尼攻略楚地,屠相(今安徽淮北市),至砀(今安徽砀县南)。于是沛公与东阳宁率军向西,迎击司马尼,在萧县西与秦军展开战斗,结果不利,刘邦与东阳宁君退至留。补充军队和粮草后,再次进攻秦军,三日取砀,得到军卒五六千人。接着乘胜攻取了下邑(今安徽砀山县)。这次,刘邦认为自己军队差不多,从下邑出发,再次攻丰,结果仍然没攻下。这时听说项梁在薛,于是留下军队围丰,自己率领百余骑至薛见项梁。项梁益沛公军五千、五大夫将十人,三攻丰邑。雍齿不敌,逃奔魏国。这样,沛公刘邦成为项梁手下一员大将。而不久项羽攻下襄邑也还至薛。当陈胜死亡的消息确实之后,项梁尽召诸将还薛,采纳居巢人范增之议,立战国时楚怀王的后裔熊心为楚王,仍号楚怀王,都盱眙。楚怀王以陈婴为上柱国,项梁号武信君。立楚怀王后,项梁率军北上救齐赵,在亢父、东阿大破秦军。这时齐军因田间、田都、田角之故,引兵还齐。只有楚军追击秦军。于是项梁下令楚军分军,以刘邦、项羽为帅,率楚军一部攻城阳。刘项二人率军攻下城阳,屠之。然后追击秦军至濮阳东,再次大破秦军。秦军这时得到补充,军势复振,守濮阳、洹水。刘项二人不与之战,绕过进攻定陶。定陶未下,放弃,西攻雍丘(今河南杞县)。沛公将曹参大破秦兵,斩杀三川守李由,并俘虏秦侯一人。之后,刘项二人进攻陈留,未下。这时秦将章邯大破项梁于定陶,项梁本人亦战死。刘项二人大惊,两人商量后决定放弃陈留,还军东归。刘项二人分兵,项羽驻军彭城西、吕臣军驻彭城东,而沛公军驻砀。项梁之死,使诸侯震怖。而秦军更是挟战胜余威常追亡逐北。章邯经过一连番胜利,认为楚国已不足虑,于是北上进攻赵国。攻下邯郸后迁其民于河内。而赵军退守巨鹿,章邯率军进围赵王歇与赵相张耳于巨鹿。这时楚怀王把都城由盱眙迁至彭城,并项羽军与吕臣军自将。封项羽为长安侯,任鲁公;封沛公刘邦为武安侯,任砀郡长,将本部兵驻砀。以吕臣为司徒,其父吕青为令尹。经过一番调整之后,楚国局势稳定下来。