这支红巾军趁着初战的锐气,虽然取得了一系列胜利,但到底是在异国的土地上作战,人地生疏,还缺乏给养。当高丽调集大军反击后,他们就难以支撑了,一三六零年,元至正二十年,正月间,红巾军与高丽军争夺西京失利,退到龙罔、咸从一带,因天寒地冻,许多人冻伤,战斗力锐减。十五日,李芳实帅高丽大军来攻,双方一场鏖战,高丽开城知府辛富、将军李坚等人战死,红巾军大将沈刺、黄志善也被俘,两万多人战死。在高丽军的追击下,红巾军仅有残部三百多人退过鸭绿江,就这样结束了第一次高丽远征。
三月间,红巾军以战船七十多艘由海上进攻高丽西北沿海的丰州、凤州、黄州、安州一带——这大概算是元末版的“烙铁行动”,可惜当时技术条件欠佳,红巾军的这些两栖登陆作战都没有取得令人满意的战果。
至正二十一年,十月二十日,关先生、破头潘、沙刘二等人率十余万大军再次渡过鸭绿江,攻克朔州。高丽以安佑为上元帅,金得培为都兵马使,李芳实为都指挥使率军迎战。红巾军连克抚州,博州,价州,泰州,延州,高丽军大败,只得坚壁清野,将顺州,殷州,成州的老百姓和粮食移往慈悲岭。十一月,两军在安州会战,高丽大败,上将军李荫,赵天柱战死,指挥使金景譂降。高丽军自此全线溃退,红巾军乘胜攻破慈悲岭,高丽军主帅安佑,金得培逃走。红巾军发文于高丽各地曰“将兵百十万而东,其速迎降”,高丽王掂量着自己恐怕不是对手,只好战略转移,走为上计,南逃利川。二十四日,红巾军攻占王京开城,焚其宫阙。不少高丽百姓加入红巾军,据说多达十万余人。
次年元月,高丽将领安佑、李芳实、黄裳、韩方信、李余庆、金得培、安遇庆、李龟寿、崔莹等率军二十万反攻,于十七日进抵王京,屯驻于东郊天寿寺。十八日,安佑,李芳实,崔莹分从东,南,西三面围攻红巾军。当日天气寒冷,大雪纷飞,红巾军战士还在营中取暖念经呢,没承想未来的朝鲜太祖,目前的高丽万户李成桂已经率精兵两千人从东大门奋勇进击捷足先登,摸进城里来了,一时军心大乱。后续高丽军接连攻入,大败红巾军。又据《续资治通鉴》记载:“关先生、沙刘二、破头潘兵入高丽,王王都出奔耽罗。其臣纳女请降,将校皆以女子配之,军士遂与高丽为姻娅,恣情往来。高丽人因各藏其马。一夕,传王令,除高丽声音者不杀,其余并杀之。”看来由于群众纪律不好,且警惕性不够高,在此战中红巾军很吃了些暗亏。关先生,沙刘二等十来万人当场战死,而李成桂则以此战所立的大功为他的朝鲜李朝江山奠定了基石。
七年后,朱重八,不,朱元璋先生,在应天府登基称帝,建立了大明王朝,改元洪武。他于同年派使臣前往高丽通报国号和年号,试图取代元朝的宗主国地位并以此获得国际社会的承认。由于元朝已经风烛残年,连顺帝妥欢帖木儿本人都已经跑到塞外去幕天席地,颐养天年了,高丽也只能见风使舵,接受了明朝的册封,在名义上承认了明朝的宗主国地位。然蒙元在高丽到底遗爱颇深,王颛的亲明态度立刻遭到了国人的质疑和反对。又过了七年,等到公元一三七四年,也就是大明朝洪武七年,被外交问题搞得焦头烂额的恭愍王终于解脱了,被臣下所弑。
漠北的蒙元势力立即阴谋篡夺高丽王位,企图用元朝沈王后裔脱脱不花为高丽国王,甚至准备搞武装暴动以夺取王位。由于在恭愍王死前,北元曾派使节波都帖木儿以及于山不花进入高丽,煽动高丽亲蒙势力出钱出力,以支持北元的复兴事业,所以这一桩杀人案,北元难逃干系。恭愍王薨后,明朝以宗主国身份派使臣前往悼念,但使者居然在归国途中被人杀害,加之亲元势力拥立恭愍王十岁的养子江宁君辛隅继位,更大大激怒了明王朝,拒绝承认新国王,就连死人的谥号也免谈了。双方关系跌到冰点,高丽转而向北元请封,立刻获得了高丽国王,征东行省左丞相的封号。
却说李成桂自王京之战后,不断建立武功:击退元朝辽阳行省丞相纳哈出的入寇;收复东宁府;平定倭寇……连敌人纳哈出也称李成桂“年少用兵如神,真天才也,将任大事于尔国矣”!明洪武二十一年,辛隅居然异想天开地去进攻正处于强盛时期的大明朝,以崔莹任八道都统使,以曹敏修,李成桂分为左右军都统使,带着三万八千兵马准备入侵明王朝的辽东。辛隅还宣布停用洪武正朔,恢复蒙古胡服。
李成桂对双方的实力对比相当清醒,反对这一军事冒险行为。他回师王京,废除了辛隅,改立其子辛昌为王。不久李成桂又借口辛昌不是王氏正统,不当为高丽王,将他废黜并流放江华岛,改迎立高丽神宗七世孙王瑶为王。他本人则在这一连串令人眩目的政治戏法中掌握了最高权力,并小心谨慎地奉行亲明政策。公元一三九一年,李成桂五十八岁那年,他终于称王,成为高丽国名至实归的主人,改国号“朝鲜”。朝鲜李氏王朝享国长达五百年之久,见证了东北亚由兴盛到衰落的历史。
在王京之战中,破头潘侥幸逃脱,与裨将左李率轻骑万余逃过鸭绿江,退回辽阳。四月,红巾军在辽阳战败,破头潘被俘。直到至正二十三年春,中路军尚有余部万余人,在左李的率领下西攻上都,为元末名将孛罗帖木儿击败,左李投降,这一支红巾军才算彻底退出历史舞台。