秦二世二年(公元前209年),陈胜、吴广起义后,项梁趁势平定江东渡过淮河北上,韩信此时带着剑投奔项梁,留在部队,默默无闻。 项梁败死后,又归属项羽,项羽让他做郎中。 韩信多次给项羽献计,项羽不予采纳。
汉元年(公元前206年),汉王刘邦入蜀之时,韩信离楚归汉,担任连敖(管理仓库的小官),依然不被人所知。 后来韩信犯了法,理该被处斩,同案的十三人都已经被斩杀,就要轮到韩信了,韩信抬头仰视,看到了滕公夏侯婴,说:“汉王不打算得天下吗?为什么杀掉壮士?” 夏侯婴觉得此人话语不同凡响,看他相貌威武,就放了他,同他交谈,很欣赏他,于是进言刘邦。刘邦让韩信担任治粟都尉(管理粮饷的官职),没有发现他与众不同的地方。
汉二年(前205年),汉军出关,收服魏王豹、河南王申阳,韩王郑昌,殷王司马卬降汉。 汉军联合齐王田荣、赵王歇共同击楚。 刘邦因此得以统制五路诸侯的兵马,共计五十六万人,东出讨伐西楚, 四月,攻入彭城,其后汉军被项羽回师大败而还。 韩信再次收集溃散的人马与刘邦在荥阳会合,又在京邑、索邑之间摧垮了楚军,因为这个缘故楚军始终不能西进。
汉三年(前204年)六月,刘邦出成皋向东渡过黄河,单独与夏侯婴跑到了修武县的张耳军中,一大早自称汉使进入赵军壁垒。张耳、韩信还没起床,刘邦直接进入他们的卧室,夺取了他们的印信兵符,用旗子召集诸将,调换了诸将的位置。 等张耳、韩信起床后才得知刘邦来过,不禁大惊失色。汉王夺了两人的军队,命令张耳备守赵地,任命韩信为相国。收集没有调到荥阳的赵兵去攻打齐国。
汉四年(前203年),韩信引兵东进击齐,未到平原渡口,得知郦食其已说齐归汉。 韩信想停止,范阳辩士蒯彻劝韩信说:“将军奉诏攻打齐国,而汉王只不过派密使说服齐国归顺,难道有诏令叫您停止进攻吗?况且郦生不过是个说客,凭三寸之舌就降服齐国七十多个城邑,将军统帅几万人马,一年多时间才攻占赵五十多个城邑,一个将军反倒不如一个儒生的功劳吗?” 韩信听从蒯彻说法,率兵渡河击齐。 这时齐国已决计降汉,对汉军的戒备松懈,韩信乘机袭击了齐驻守历下的军队,一直打到临淄。 齐王田广惊恐,认为是郦食其出卖了自己,便把他煮死了。田广逃到高密后,派人向楚求救。 当韩信袭破临淄时,项羽闻讯遣龙且亲率兵马与齐王田广合力抗汉,号称二十万众。 有人前来向龙且献计:汉军远征作战,所向披靡,而齐,楚本土作战兵易涣散,不如深沟高垒,以守为攻。招抚已沦陷城邑,使知齐王存,楚来救,这必定使汉军得不到粮食,会不战自败。 龙且轻视韩信,又急求战功,不用此计,率兵与韩信军隔潍水东西摆开阵势。 韩信连夜派人做了一万多条袋子,盛满沙土,壅塞潍河上流。率一半军队涉水进击龙且之阵,龙且出兵迎击,韩信佯装败退,龙且以为韩信怯弱,率军渡江进击。 这时韩信命人决开壅塞潍水的沙囊,河水奔流而至,龙且的军队大半没有渡过去。韩信挥军猛烈截杀,杀死龙且。东岸齐、楚联军见西岸军被歼,四处逃散。韩信率军急渡水追击至城阳,楚兵皆被俘虏。齐王田广逃走不久被杀。
汉五年(前202年),刘邦趁项羽无备,楚军饥疲,突然对楚军发动战略追击。 约韩信从齐地,彭越从梁地南下合围楚军。汉五年十月(汉初承秦制,十月为岁首),齐王韩信、建成侯彭越没有前来会师。刘邦追击楚军至固陵(淮阳西北),楚军反击,刘邦大败而归。 为了让韩信、彭越出战,刘邦听从张良之谋,划陈县以东至海边广大地区为齐王韩信封地;封彭越为梁王,划睢阳县以北至谷城(山东东阿南)为其封地。 由韩信指挥此战。韩、彭遂率兵攻楚;韩信从齐地南下,占领楚都彭城(江苏徐州市)和今苏北、皖北、豫东等广大地区,兵锋直指楚军侧背,彭越亦从梁地西进。汉将刘贾会同九江王英布自下城父(今安徽亳州城父镇)北上;刘邦则率部出固陵东进、汉军形成从南、北、西三面合围楚军之势,项羽被迫向垓下(安徽灵璧南)退兵。十二月,汉军与楚军决战于垓下。汉军由淮阴侯韩信统领,共计三十万,分为六个部分,孔将军孔藂为左翼,费将军陈贺为右翼,刘邦在其后,周勃、柴武在刘邦的部队之后。 楚军由项羽统领,共计约有十万。韩信先率前锋与项羽交锋,不利,向后退却。孔将军孔藂、费将军陈贺从左右两边纵兵攻上去,楚军不利,淮阴侯乘势再次攻上去,大败楚军于垓下。 楚军大败,退入壁垒坚守,被汉军重重包围。楚军屡战不胜,兵疲食尽。夜晚听到汉军从四面传来楚国歌声,项羽大感震惊,认为楚国已经被汉军全部占领。 韩信乘势进攻,楚军大败,十万军队被全歼,项羽逃至东城自刎而死。 刘邦于是还至定陶,驰入韩信军中,收夺了他的兵权,后改封韩信为楚王,都下邳(江苏邳县东)