公元1352年,朱元璋二十五岁,正为自己的前途感到迷惘。恰在这时,郭子兴联合孙德崖等人在濠州起兵。于是,朱元璋在三月初进入濠州,投奔郭子兴。郭子兴见朱元璋相貌不凡且机智灵活,就留他做了亲兵。朱元璋精明能干,外出作战总是身先士卒,在军中也有很好的名声,郭子兴就把自己的养女马氏嫁给了他。

一年冬季,元朝将领贾鲁率军围困濠州,朱元璋与郭子兴奋力抵抗,终于击退了贾鲁。到了第二年,贾鲁死去,元军解除了对濠州的包围。朱元璋立刻回到家乡,招募了七百多名士兵后回到濠州,郭子兴很高兴,封他镇抚之职。

后来,浙江的起义军领袖张士诚占据高邮称王,元朝丞相脱脱知道后立即带兵攻陷了高邮。朱元璋说:“高邮沦陷,元军一定会去攻打滁州,我们不如去滁州设下埋伏。”结果果然被朱元璋说中了,所以元军刚到滁州,就被朱元璋打得落花流水。考虑到元军后援强大,朱元璋没有逞一时之能,而是归还了俘获的马匹,备好美酒向元军道歉:“我们守城不过是为了防范其他盗贼,你们为什么不去攻打大盗,却来杀我们这些良民呢?”元军觉得在实力和理由上都不够充分,只好撤兵,滁州就此安全了。