这时,刘邦闻东阳宁君与秦嘉立景驹为楚假王,在留(今沛县东南),于是投奔景驹,欲借军攻丰。
在去投奔景驹的路上,遇见了也要投奔景驹的张良。
两人于是兵合一处。张良与刘邦二人见面后,一交谈,两人大有相见恨晚之意。
于是张良放弃投奔景名驹的念头,直接投奔到刘邦这边。刘邦以张良为厩将。
这时秦将章邯派别将司马尼攻略楚地,屠相(今安徽淮北市),至砀(今河南永城芒山镇。
于是沛公与东阳宁率军向西,迎击司马尼,在萧县西与秦军展开战斗,结果不利,刘邦与东阳宁君退至留。
补充军队和粮草后,再次进攻秦军,三日取砀,得到军卒五六千人。接着乘胜攻取了下邑。
这次,刘邦认为自己军队差不多,从下邑出发,再次攻丰,结果仍然没攻下。
这时听说项梁在薛,于是留下军队围丰,自己率领百余骑至薛见项梁。
项梁益沛公军五千、五大夫将十人,三攻丰邑。雍齿不敌,逃奔魏国。
立楚怀王后,项梁率军北上救齐赵,在亢父、东阿大破秦军。
这时齐军因田间、田都、田角之故,引兵还齐。只有楚军追击秦军。
于是项梁下令楚军分军,以刘邦、项羽为帅,率楚军一部攻城阳。刘项二人率军攻下城阳,屠之。
然后追击秦军至濮阳东,再次大破秦军。秦军这时得到补充,军势复振,守濮阳、环水。
刘项二人不与之战,绕过进攻定陶。定陶未下,放弃,西攻雍丘(今河南杞县)。沛公将曹参大破秦兵,斩杀三川守李由,并俘虏秦侯一人。
项梁之死,使诸侯震怖。而秦军更是挟战胜余威常追亡逐北。
章邯经过一连番胜利,认为楚国已不足虑,于是北上进攻赵国。攻下邯郸后迁其民于河内。而赵军退守距鹿,章邯率军进围赵王歇与赵相张耳于巨鹿。
这时楚怀王把都城由盱眙迁至彭城,并项羽军与吕臣军自将。
封项羽为长安侯,任鲁公;封沛公刘邦为武安侯,任砀郡长,将本部兵驻砀。以吕臣为司徒,其父吕青为令尹。经过一番调整之后,楚国局势稳定下来。
赵王与张耳困于巨鹿,遣使至楚向楚国求救。楚怀王经过商议后答应救赵。
但为了分散秦军力量,决定派一支部队西向直接攻秦。北路楚军以宋义为主将,西路军以刘邦为主将。
约定谁先入关中,谁就是关中王。当时由于秦军军势正壮,楚国上下皆不看好西征,都不愿意领军西征。
于是他们以沛公为西征军统帅西征,借口是刘邦为人宽厚,可以减少西进阻力。而项羽则因为叔父之死,积极要求随沛公西征。
但楚诸老将皆以项羽为人“强悍勇猛”及“所过皆残灭”不利于西征为由拒绝了项羽的要求,让他担任北路军的次将北上救赵。
沛公军由砀出兵,北上先行收集陈胜、项梁的散卒。至成阳,与秦军夹壁杠里。沛公军出击秦军,大破秦军,秦将王离逃走。
接着,沛公引兵西进,遇彭越于昌邑(今山东巨野县大谢湖镇昌邑村)。
两人合力攻昌邑,未下,沛公还军至栗(今河南夏邑)。在栗,遇刚武侯,夺其军,沛公军队增加了四千多人。
接着与魏将皇欣、魏申徒武蒲军合攻昌邑,又没攻下。沛公刘邦决定舍弃昌邑不打,率军西行。
刘邦行军至高阳,并访求贤士。正好沛公军队中有一骑士家在高阳,于是回家探亲。
这时高阳人郦食其为其同乡,于是就请他代为向刘邦引荐自己。他对骑士说:“我听说沛公傲慢而看不起人,但他有许多远大的谋略,这才是我真正想要追随的人,只是苦于没人替我介绍。
你见到沛公,可以这样对他说,我家乡有位郦先生,年纪已有六十多岁,身高八尺,人们都称他是狂生,但是他自己说并非狂生。”
骑士说:“沛公并不喜欢儒生,许多人头戴儒生的帽子来见他,他就立刻把他们的帽子摘下来,在里边撒尿。在和人谈话的时候,动不动就破口大骂。所以您最好不要以儒生的身份去向他游说。”
郦食其对他说:“你只管像我教你的这样说。”骑士回去之后,就按郦生嘱咐的话从容地告诉了沛公。
于是通过骑士引荐,郦食其见到了沛公。但刘邦在召见他时,正踞坐在床,令两女子给其洗脚。
郦食大为满,长揖不拜,直接斥责道:“您是想帮助秦国攻打诸侯呢,还是想率领诸侯灭掉秦国?”
刘邦骂道:“你个奴才相儒生!天下的人同受秦朝的苦已经很久了,所以诸侯们才陆续起兵反抗暴秦,你怎么说帮助秦国攻打诸侯呢?”
郦生曰:“如果您下决心聚合民众,召集义兵来推翻暴虐无道的秦王朝,那就不应该用这种倨慢不礼的态度来接见长者。”
于是刘邦起身道歉,整理好后以礼接待了郦食其。
当时,郦食其有个弟弟名叫郦商,陈胜起兵时,他亦聚数千人响应。郦食其归汉,郦商率其部下约四千多人加入沛公队伍。
郦食其劝刘邦进攻陈留,刘邦从其计,夺下陈留,得到大量补给。
接着令郦商为将,进攻开封,未下。绕过西进,与秦将杨熊所率秦军大战于白马、曲遇,大败秦军。
秦将杨熊败走。沛公军紧追其至白马,再次大破秦军,杨熊逃至荥阳,秦二世派使者斩杀杨熊。