9月中旬至10月4日,苏军先后在城北以及城南湖泊之间阵地发起反攻,迫使德军不断从突击斯大林格勒的部队抽调兵力应付苏军的这些突击。为减轻德军对斯大林格勒市区的压力,苏军顿河方面军突击队于10月19日从斯大林格勒以北转入进攻。10月25日,第64集团军也从南边对德军侧翼实施反突击。这一系列攻势行动有效地改善了第62集团军的困难处境。朱可夫元帅在其回忆录中指出:斯大林格勒以北苏军地面部队和航空兵的作战行动,对第62、第64集团军固守斯大林格勒给予了不可估量的帮助。
到1942年11月18日,斯大林格勒会战的防御阶段共持续4个月。德军先后调来50多个师的兵力,但始终未能实现其战略企图。德军在夺取斯大林格勒的作战中遭受巨大损失,死伤近70万人,损失火炮和迫击炮2000多门、坦克和强击炮1000多辆、战斗机和运输机1400多架。德军完全被苏军钳制在斯大林格勒城下,陷入被苏军半包围的态势。在这种形势下,苏军已悄悄地完成大反攻的准备。
苏军最高统帅部规定了1942年底至1943年初的战略任务:彻底改变苏德战争进程,解放南方重要工农业地区,粉碎德军对列宁格勒的封锁,稳定莫斯科—斯摩棱斯克方向。鉴于德军并未耗尽其全部进攻力量,苏军最高统帅部决定逐次消灭德军集团,首先消灭伏尔加河与顿河之间的德军重兵集团,进而击溃德军在南翼的全部军队。
苏军大本营和总参谋部从1942年9月起即开始拟制由3个方面军实施的围歼斯大林格勒地域德军的反攻计划。11月13日,苏军统帅部批准代号为“飓风”的反攻计划。计划总企图是,利用苏军对德军第6集团军和第4装甲集团军所形成的有利包围态势,以3个方面军对德军两翼实施突击,合围德军,尔后消灭伏尔加河与顿河之间的德军主力。
截至反攻开始前,苏军在斯大林格勒方向共展开3个方面军:即西南方面军、斯大林格勒方面军和顿河方面军,总兵力达110余万人,火炮和迫击炮1万5500门,坦克1500辆,作战飞机1300余架。
转入反攻的日期规定为:西南方面军和顿河方面军11月19日,斯大林格勒方面军11月20日。这是因为,各方面军突击集团必须同时抵达卡拉奇和苏维埃茨基地域。西南方面军的突击集团应在3昼夜内向前推进110至140公里,斯大林格勒方面军应在2昼夜内向前推进90公里。
为了牵制苏德战场其他地段的德军,使德军不能在苏军反攻期间向斯大林格勒方向调遣兵力,苏军最高统帅部决定于11月下半月和12月,以加里宁方面军部分兵力在大卢基方向展开进攻,以西方面军的军队在加里宁方面军部队协同下,对尔热夫和维亚兹马的德军实施突击,以外高加索方面军的军队向莫兹多克方向进攻。
11月19日拂晓,在持续80分钟的炮火准备后,苏军西南方面军以及顿河方面军右翼部队开始突击,揭开了反攻的序幕。苏军主要突击首先指向战斗力较弱的罗马尼亚第3集团军。在苏军第5坦克集团军和第21集团军突破罗马尼亚军队防御后,配置在罗军后方的德军企图以强大的反突击阻止苏军前进,但被苏军粉碎。在达成对罗马尼亚第3集团军的突破后,苏军即快速向纵深推进。到日终时,进入突破口的苏军各部队已向德军纵深推进30~35公里,并继续向卡拉奇推进。作战第一天,苏军顿河方面军只有第65集团军参战。该集团军切断了德军从顿河小弯曲部向西的退路,楔入德军防御纵深3~5公里。11月23日,西南方面军所属第5坦克集团军第26坦克军和第21集团军的第4坦克军,攻占了顿河东岸重要支撑点卡拉奇。11月24日,西南方面军围歼了被围在拉斯波品斯卡亚地域的罗马尼亚集团。
11月20日,斯大林格勒方面军第51、第57集团军以及第64集团军左翼部队在斯大林格勒以南转入反攻,当日突破德军防御。第51集团军的第4机械化军,于11月22日前出到苏维埃茨基。23日,该机械化军与西南方面军第4坦克军在卡拉奇和苏维埃茨基会合,合围了斯大林格勒附近德军集团的基本兵力(德军第6集团军以及第4装甲集团军一部),共计22个师,约33万人。苏军很快构成了绵亘的合围对内正面。11月24日,顿河方面军和斯大林格勒方面军向被围在斯大林格勒附近的德军集团展开进攻。
为加强合围对外正面上的兵力,苏军开始调整部署。从11月24日到30日,苏军航空兵在斯大林格勒地域共出动飞机5760余架次,平均每昼夜824架次,比德军出动架次多4倍,并取得了制空权。到11月30日日终前,德军被压缩在方圆不到1500平方公里(东西40公里,南北30至40公里)的地域内。在此期间,苏军西南方面军和斯大林格勒方面军成功地击退了德军新建的“霍利德”战役集群的突击,并沿克里瓦亚河、奇尔河、顿河、科捷尔尼科沃以北之线组成了宽达500余公里的合围的对外正面。
苏军统帅部企图于12月初即对被围德军进行割裂、歼灭,由于准备不够充分,加之德军收缩了战斗队形,并利用了苏军1942年夏季构筑的工事,2个方面军围歼德军的企图没有成功。因此,苏军最高统帅部命令合围对内正面的苏军暂停进攻,着手进行进一步的周密准备。
德军统帅部为解救其被围集团和恢复斯大林格勒附近的原有态势,决定在科捷尔尼科沃和托尔莫辛地域集结新锐部队,并向斯大林格勒实施突击,突破苏军合围的对外正面,解救其第6集团军和第4坦克集团军,然后恢复顿河防线。
为此,德军统帅部于11月初将在合围圈对外正面作战的德军改编为顿河集团军群(司令为曼施泰因元帅),并从德、法和苏德战场其他方向抽调部队加强该集群。顿河集团军群下辖“霍利德”战役集群(由德军第17军及5个德军师、5个罗马尼亚师编成)、罗马尼亚第3集团军残部、“霍特”战役集群(由重新组建的德军第4装甲集团军和罗马尼亚第4集团军组成)。被围在斯大林格勒附近的德军第6集团军名义上也归顿河集团军群指挥,但实际上由希特勒直接控制。顿河集团军群司令部是在德中央集团军群第11集团军司令部基础上建立的。
顿河集团军群在韦慎斯卡亚至马内奇河的600公里战线上共展开30个师(不包括被围困在斯大林格勒附近的集团),其中有6个装甲师和1个机械化师。这些部队严重缺员,战斗力很差。苏军攻占卡拉奇以后,切断了德军向斯大林格勒地域被围部队运送补给的主要通路,德第6集团军唯有依赖空运勉强维持。但希特勒仍下令第6集团军死守斯大林格勒,不得撤退。
在希特勒的严令下,德军计划从托尔莫辛地域和科捷尔尼科沃地域这两个方向对苏军实施突击,但由于缺少足够的预备队同时组建2个突击集团,以及苏军在合围对外正面的积极作战,德军无法实现这一意图。于是,12月12日,德军“霍特”集群不待托尔莫辛突击集团集结完毕,就沿科捷尔尼科沃通往斯大林格勒的铁路转入进攻,突击沿140公里正面上防守的苏军第51集团军,企图解救被围困在斯大林格勒附近的德军集团。前2天的进攻,德军在一个狭小地段上突破苏军防御,并楔入纵深40公里。
苏军最高统帅部决定,斯大林格勒方面军先实施防御,粉碎德军增援,尔后再歼灭被围之敌。
斯大林格勒方面军迅速将兵力、兵器从合围的对内正面向合围的对外正面机动,以第57集团军第13坦克军以及方面军预备队的1个步兵师和1个坦克旅加强第51集团军,又将统帅部预备队第5突击集团军的3个步兵师调至梅什科瓦河北岸设防。
苏军积极而顽强的防御,消耗了德军科捷尔尼科沃集团,并将其阻止在梅什科瓦河畔。
为迅速消灭德军科捷尔尼科沃集团,苏军最高统帅部从预备队中抽调近卫第2集团军(原定用于消灭被围德军集团,属顿河方面军编成),配属给斯大林格勒方面军。
12月19日,德军增调1个装甲师后再度发起攻击。23日前,德军第4装甲集团军的第57装甲军进抵梅什科瓦河,一度与被围德军集团相距不到40公里。德军在进攻中付出了沉重代价。
12月24日,斯大林格勒方面军转入反攻。计划规定:近卫第2集团军向科捷尔尼科沃实施主要突击,第51集团军以其右翼从斯大林格勒—科捷尔尼科沃铁路实施突击,第5突击集团军沿顿河西岸向南实施突击。
12月29日,苏军攻占科捷尔尼科沃,德军向西和西南方向退却。至12月底,苏军歼灭了罗马尼亚第4集团军,并重创德军第4装甲集团军的第57装甲军,将德军击退到距斯大林格勒200公里远的集莫尼基地域。这次作战的成功,粉碎了德军科捷尔尼尔科沃集团解救被围德军的计划,也为尔后向罗斯托夫方面发展进攻创造了有利条件。
另外,苏军在托尔莫辛方向也采取了积极行动。西南方面军12月初的原计划是在顿河中游实施进攻战役,并向米列罗沃、罗斯托夫方向发展进攻。根据德军12月12日从科捷尔尼科沃地域发起进攻等新的情况,苏军最高统帅部对原计划做了一些修改,于13日决定:西南方面军放弃向罗斯托夫的深远突击,从上马蒙地区不再向南,而改向东南,向下阿斯塔霍夫方向实施主要突击,以歼灭德军顿河集团军群。当前任务是以近卫第1、第3集团军围歼意大利第8集团军和“霍利德”战役集群的部队,尔后进攻莫罗佐夫斯克。沃罗涅日方面军的第6集团军从西面保障西南方面军突击集团的进攻,为此,应从上马蒙以西地域向坎捷米罗夫卡总方向实施突击。
12月16日拂晓,西南方面军和沃罗涅日方面军突击集团同时发起进攻。为尽快突破德军防御,苏军近卫第1集团军和第6集团军所属各坦克军第一天即全部投入了战斗。17日,近卫第3集团军的机械化军也投入战斗。经3天激战,苏军在5个方向上突破了德军防御,德军200公里的防御正面被分割成4个孤立的地段。在苏军从后方和翼侧的突击下,意军和德军向南方和西南方向退却。苏军近卫第1集团军和第6集团军所属各坦克军,以及近卫第3集团军的1个机械化军,一面歼灭德军退却纵队和后方机关,一面迅猛向南和东南发展进攻。12月24日,苏军近卫第1集团军坦克第24军出敌不意地楔入塔钦斯卡亚,夺占了德军向斯大林格勒实施空运的机场,以及300余架军用飞机和后勤仓库。这一举措,使德军失去了空运补给基地,同时也切断了德军运送补给和部队的唯一铁路交通线。
21日至24日,苏军突击集团各部队协同作战,在麦什科夫斯基卡亚地域合围并歼灭意大利第8集团军主力。12月底,西南方面军已推进100至200公里,抵达新卡利特瓦、马尔科夫卡、米列罗沃、伊林卡、莫罗佐夫斯克、奥勃利夫斯卡亚一线,并在此设防固守。至此,德军托尔莫辛集团基本被歼。苏军西南方面军和沃罗涅日方面军的任务遂告完成。此次胜利,不仅粉碎了德军从顿河中游解救被围在斯大林格勒附近德军集团的企图,也削弱了德军从科捷尔尼科沃方向对斯大林格勒方面军的压力,并为苏军尔后向伏罗希洛夫格勒和沃罗涅日实施进攻创造了有利条件。
至1943年1月初,斯大林格勒地区的合围对外正面已向前推移200至250公里,被围德军人数已从33万减员到25万,近8万人已在战斗中被歼或被俘。被围德军所占地区受到苏军炮火控制。弹药、油料和粮食储备已消耗殆尽。苏军航空兵还对合围地域进行了空中封锁,粉碎了德军向被围部队空投补给的企图。被围德军的覆灭已成定局。
早在1942年12月底,苏军最高统帅部就制定了歼灭德军第6集团军的进攻作战计划,代号为“指环”,由得到加强的苏军顿河方面军负责实施。
1943年1月8日,苏军向被围德军发出最后通牒,敦促其停止抵抗,缴械投降,遭到德军拒绝。1月10日拂晓,顿河方面军经炮火准备后发起进攻。尽管德军进行了顽强抵抗,方面军突击集团仍于日终前在许多地段突破德军防御,向纵深推进6~8公里。在发展进攻过程中,苏军于1月12日夺取了马里诺夫卡突出部,消灭该地德军近3个师。1月25日,苏军楔入斯大林格勒西郊。1月26日日终,分别由东西两个方向进攻的苏军第26集团军和第21集团军在红色十月新村、马马耶夫岗地域会师,将德军分割成南、北两个部分。德军南部集群被压缩在市中心,北部集群被压缩在拖拉机工厂和“街垒”工厂区。1月27至31日,苏军对德军南、北两个集群实施了突击。德军战斗力已急剧降低,开始大批投降。1月31日,德军南部集群停止抵抗,刚被希特勒提升为元帅的德军第6集团军司令保卢斯及其参谋长被俘。2月2日,在苏军炮火猛烈袭击下,德军北部集群也被迫停止抵抗。苏军顿河方面军最终完成了歼灭斯大林格勒被围德军集团的任务,斯大林格勒会战至此全部结束。在“指环”战役中,苏军顿河方面军各部队共俘敌9.1万余人,其中包括保卢斯陆军元帅在内的2500余名军官和24名将军。在各战场则收集了约14万具被击毙德军官兵尸体。
在斯大林格勒反攻作战过程中,苏军共消灭德军第6集团军、第4装甲集团军、罗马尼亚第3~第4集团军和意大利第8集团军。德军一方共损失32个师和3个旅,另有16个师遭重创,损失人员80余万、坦克和强击火炮近2000辆、火炮和迫击炮1万余门、作战和运输飞机约3000多架,以及汽车7万多辆。苏军把德军从伏尔加河和顿河打退几百公里。
在200个日日夜夜的斯大林格勒会战中,苏联军民充分表现了大无畏的英勇气慨,进行了艰苦卓绝的顽强作战,计损失113万人,终于取得了辉煌的胜利。德军在整个会战中,总共损失150万人,占其当时在苏德战场作战总兵力的1/4。德国由于斯大林格勒会战的惨败,宣布致哀3天。
斯大林格勒会战结束后,从南到北的苏军各个方向的反击作战也频频告捷:列宁格勒、顿河流域、北高加索等地的德军先后败退。