朱元璋幼时名为重八,又一名为兴宗,字国瑞,出身濠州钟离县一个贫农家里,自幼丧父母,因此入皇觉寺为僧。郭子兴领导的农民起义军打败了在濠州的元军,元军撤离濠州时,将皇觉寺焚掠一空。至正十二年(1352年)闰三月,25岁的朱元璋走投无路,无以为生,于是来到濠州城,投奔到郭子兴领导的红巾军中。因他在战场上打仗机智勇敢,很快被提拔为亲兵十夫长,留在郭子兴身边。郭子兴为人“枭悍善斗,而性悻直少容”。每在关键时刻,都让朱元璋出谋划策,故与郭子兴“亲信如左右手”。郭子兴见他年青,有胆略,又有见地,也受到下边战士的拥护,屡立战功,是一个有前途的人才,因此决定将养女马氏嫁给他。
在进军滁州(今安徽滁县)途中,李善长来到军中谒见。朱元璋问李善长:“如今四方战乱,什么时候才能太平呢?”李善长答:“秦末大乱时,汉高祖以布衣起兵,他为人豁达大度,知人善任,不乱杀人,五年而成帝业。”又说:“你是濠州人,离刘邦的家乡沛县不远,只要你认真学习这位老乡的长处,天下是可以平定的。”朱元璋听后,十分高兴,决定把李善长留在自己身边,为他出谋划策。李善长的这一席话,对朱元璋的影响十分深远,一直到建国以后的政治、经济政策,大多数是学习汉高祖刘邦而运用于明代的。
朱元璋在至正十四年(1354年)攻占滁州,势力逐渐壮大,并发展成了一支独立的武装力量。当郭子兴等五帅失和之时,郭子兴乘机从濠州发动进攻。至正十五年(1355年)正月,郭子兴用朱元璋之计,派张天祐等进攻和州。郭此时命朱元璋统领其军。朱元璋考虑到诸将的势力与自己不相上下,为避免别人不服他,他就将军命隐藏起来,约好第二天早上在厅中议事。当时入席以右为贵,诸将先入,皆踞右,朱元璋故意后至而就左,“朱比实事,剖决如流,众人皆愕得说不出话来,不能由此稍微有些收敛。讨论分工修城,(限)期三日”。朱元璋负责的工段三天就完成了,诸将都落后。这时说一句话才拿出军命,南面坐曰:“奉命总诸公兵,今甓城皆后期,如军法何?”诸将此刻都非常惊慌,唯恐被辞退。三月,郭子兴病死。刘福通占据安丰和颍州之后,派人把逃匿在砀山夹河的韩林儿及其母杨氏,迎到亳州(今安徽亳县),拥立韩林儿为皇帝,号“小明王”,建国号为“大宋”,年号龙凤,都亳州。立韩林儿之母杨氏为皇太后。杜遵道、盛文郁为丞相,刘福通、罗文素为平章。大宋建立后,韩林儿任命郭子兴之子郭天叙为都元帅,部将张天祐、朱元璋为右、左副元帅。不久,张天祐、郭天叙都战死,朱元璋就成为大元帅,郭子兴的旧部全归他指挥。