经过两次战役,志愿军彻底扭转了朝鲜战局,准备发起第三次战役,继续前进。1950年12月31日,志愿军和朝鲜人民军发起第三次战役。此次战役时间十分短暂,是挟第二次战役胜利之势对美韩军进行的一次大举反击。志愿军第38、第39、第40、第50军并加强炮兵6个团组成志愿军右纵队,由志愿军副司令员韩先楚指挥,配合朝鲜人民军第一军团进攻;志愿军第42、第66军并加强炮兵1个团组成志愿军左纵队,配合朝鲜人民军第二、第五军团进攻。
在200公里宽的战线上,中朝军队发起了全面进攻并迅速突破三八线的美韩军防御阵地,迅速向南深入。至1月2日,志愿军突破敌防御纵深20多公里,敌军防御部署被完全打乱,全面后撤。1月3日,西线志愿军第39、50军等部和朝鲜人民军第一军团向汉城、仁川一带进逼。第50军在高阳地区全歼英军第二十九旅步兵一个营和坦克一个中队。1月4日,志愿军和朝鲜人民军占领汉城。随后,中朝军队渡过汉江,继续追击。东线志愿军1月4日占领洪川,1月6日进占砥平里,1月8日攻占骊州、利川。人民军第二、第五军团占领横城、原州。1月8日,中朝军队进逼到三十七度线。
经过战役,虽然歼灭大量敌军,但是对联合国军的歼灭没有出现成建制包围和成建制歼灭,重兵团没有集中出现,联合国军是有计划撤退。为了防止被联合国军诱入纵深地带而重蹈仁川登陆的覆辙,同时战线过长,补给出现困难,彭德怀命令1月8日结束战役。经过第三次战役,战线推进到三七线。
第三次战役虽然歼灭两万多敌军,但并不是一场大量歼灭敌有生力量的战役,只是一次追击并占领大量领土的战役。联合国军经过休养,于1月25日开始向北反击,第四次战役爆发。
志愿军由于后勤的落后,战士携带的干粮足够支撑一个星期左右,一个星期后攻势自然停止。这一现象被美第八军团司令李奇微命名为“礼拜攻势”。而经过一、二、三次战役连续作战的志愿军也由于疲劳进入休整,等待补给。而美军针对志愿军的穿插包围作战战术做出调整,改为稳扎稳打,逐地争夺的战术,不给志愿军以穿插分割包围的机会。面对美军凌厉的攻势,中朝军队进入全面防御作战。
战役开始后,东西两线志愿军均在各自阵地上对美军进行阻击。西线志愿军在汉江南岸背水作战,坚持到2月7日。由于汉江开始解冻,南岸作战空间狭小,西线志愿军主力撤到汉江北岸进行防御。2月10日,联合国军占领仁川。与此同时,东线志愿军则继续诱敌深入。至2月9日,韩军和美军一部已进到砥平里、横城、下珍富里、江陵一线,其中,南朝鲜军第8、第5、第3师前进至横城以北约10公里,态势突出,翼侧暴露。2月11日,志愿军发起横城反击战,韩军第8师被包围歼灭,其师部逃脱。美韩军除在砥平里的部队外,攻势受挫南撤,志愿军在东线小规模取得优势。随后,2月13日,东线志愿军向砥平里被包围的联合国军发起进攻,但由于对其兵力和工事估计不足,仓促投入战斗,弹药也不足,当夜未能解决战斗。14日,联合国军被压缩在不足2平方公里的狭小地区,仍未能歼灭。15日,联合国军援兵赶到,志愿军被迫撤围,放弃砥平里。此战过后,志愿军与人民军无力继续坚守,开始逐步北撤退。在东线部队反击的同时,志愿军38军始终坚持在汉江南岸吸引联合国军。砥平里战斗后,38军北渡汉江,向北撤退。
美军支援韩国155毫米自行火炮,朝鲜战争时联合国军对中朝军装备有绝对优势,其中火炮达到了40比1。第四次战役中,联合国军以其火力优势,对志愿军一直是稳扎稳打。
在战役第一阶段,志愿军战果不大,战线后撤,补给困难,所以志愿军开始全面后撤,转入运动战。2月19日起,东线联合国军率先开始反击,但进展缓慢。3月6日,东西战线推平。3月14日,志愿军主动放弃汉城向北转移。在防御作战中,第26军在议政府铁原地区防御战斗中抗击美军第1军主力进攻,坚持38天,毙伤俘敌1万5千余人。美军在汶山里地区伞降了约4000人和少量坦克、火炮,企图切断正在向北转移的人民军一部的退路,没有成功。
2月底,第一野战军第19兵团改为志愿军入朝作战,下辖63、64、65军。3月,第二野战军第三兵团改为志愿军入朝,下辖12、15、60军。4月,第四野战军第47军改为志愿军入朝。4月初,第3、19兵团和第二次战役后进入休整的第9兵团开赴前线增援,50军、66军则回国休整。联合国军发觉志愿军3个兵团的援兵后,停止进攻。战线被维持在三八线南北附近。4月21日战役结束。历时八十七天的第四次战役,联合国军在把战线推回三八线的同时,自己每天也伤亡近千人。联合国军损失7.8万人,志愿军伤亡4.2万人。