8月19日,保盧斯和霍特重新發起了進攻。保盧斯第6集團軍從斯大林格勒西北麵的特列赫奧斯特羅夫卡亞向東南攻擊,22日突破蘇第62集團軍在韋爾加奇和彼斯科瓦特卡地段的防線,強渡頓河,占領了卡拉奇,23日第14裝甲軍推進到斯大林格勒北郊的葉爾佐夫卡地域,前出到伏爾加河,將蘇第62集團軍與斯大林格勒方麵軍主力分割開來。霍特第4裝甲集團軍從南麵的阿勃加涅羅沃地區向北進攻,突破了蘇第64集團軍的防禦,29日進至城南的加夫裏洛夫卡地域,其前鋒已前出到京古塔車站。9月2日,保盧斯第6集團軍右翼與霍特第4裝甲集團軍左翼在舊羅加奇克地區取得了聯係。與此同時,德軍第4航空隊出動飛機幾百架,入夜又出動2000架次飛機對斯大林格勒進行狂轟濫炸。

鑒於斯大林格勒異常嚴峻的形勢,斯大林任命朱可夫為最高副統帥,並決定立即調撥第24、第66集團軍和近衛第1集團軍開赴斯大林格勒。8月29日,朱可夫飛到斯大林格勒並著手組織第24、第66集團軍和近衛第1集團軍的反擊行動。9月3日,斯大林致電朱可夫要求立即對斯大林格勒進行突擊,以緩解當地緊張局勢。

9月5日拂曉,朱可夫將3個新銳集團軍投入反擊,由於準備倉促,反擊未達到預期目標。當晚,斯大林命令朱可夫繼續衝擊。9月6日,蘇軍再次發動進攻,再次失敗。9月10日,蘇軍試圖從北麵實施突擊,恢複同第62集團軍的聯係,又遭到失敗。9月12日,蘇軍被迫撤至市區圍廓,外圍防禦地帶已全部喪失,德軍突破斯大林格勒城防,從南麵突進到伏爾加河,把守衛城市的第62集團軍同戰場上的其他部隊分隔開來。

在高加索方向,利斯特A集團軍群正在以高速前進。8月9日,克萊斯特第1裝甲集團軍占領了邁柯普油田。8月22日,克萊斯特的士兵在海拔18526英尺的厄爾魯斯山峰上升起了第三帝國的“卍”字旗。8月25日,克萊斯特部又攻占了莫茲多克,距格羅茲尼四周的蘇聯最大產油中心隻有50英裏,距裏海也隻有100英裏。8月31日,希特勒要求A集團軍群司令利斯特元帥傾其所有的力量向格羅茲尼作最後進攻,盡快拿下油田。但德軍衝擊力迅速下降,進展緩慢。9月9日,希特勒免去了利斯特元帥的A集團軍群司令的職務,由第1裝甲集團軍司令克萊斯特上將接任,第1裝甲集團軍司令則由麥肯森將軍繼任。克萊斯特上任後,雖然竭盡全力,也無法再前進一步。因為衝擊力喪失的主要原因是缺乏燃油。

9月12日,希特勒從東普魯士飛抵烏克蘭的文尼察,召見了B集團軍群司令魏克斯上將和第6集團軍司令保盧斯上將,命令他們於9月13日對斯大林格勒發起新的進攻,並決定從高加索方向抽調9個師加強給第6集團軍。

斯大林格勒方向上的軸心國部隊共有50多個師,其中直接進攻斯大林格勒的有13個師,17萬人。而蘇軍斯大林格勒方麵軍和東南方麵軍雖有120個師但人員缺額嚴重,實際防守斯大林格勒的是第62和64集團軍,共有9萬餘人,1000餘門火炮,120輛坦克。

9月13日,德軍再一次向斯大林格勒發起進攻。保盧斯第6集團軍擔當主力,從城北實施猛烈突擊。霍特第4裝甲集團軍則從城南推進,主要任務是策應保盧斯在城北的主攻。蘇軍崔可夫中將指揮的第62集團軍和舒米洛夫少將指揮的第64集團軍受領了保衛斯大林格勒市區的任務。

14日,德軍從城北突入市區,與蘇第62集團軍展開了激烈的巷戰,雙方逐街逐樓逐屋反複爭奪。斯大林格勒變成了一片瓦礫場,城中80%的居住區被摧毀。在滿是瓦礫和廢墟的城中,蘇聯第62集團軍頑強抵抗,城中的每條街道,每座樓房,每家工廠幾乎都發生了激烈的槍戰。攻入城中的德軍死傷人數不斷增加。盡管德軍對伏爾加河東岸進行頻繁的轟炸,但是蘇軍還是從那裏得到了不斷的補給和支持。剛剛趕赴城中的紅軍戰士的平均存活時間不超過24個小時,軍官也隻有約三天的平均存活時間。德軍的主要戰術是各兵種聯合作戰,非常重視步兵、工程部隊、炮兵和空軍的地麵轟炸的協調。為了對抗這種戰術,蘇軍指揮官采取了貼身緊逼的策略,盡量將己方的前線與德軍貼近。這樣導致了德軍的炮兵部隊無法發揮遠程攻擊的優點。

9月15日,德軍對馬馬耶夫高地實施重點突擊。該高地是斯大林格勒城中的製高點,從這裏可以俯瞰和控製全城,崔可夫中將的第62集團軍司令部即設在這裏。經過一天極為殘酷的戰鬥,德軍占領了馬馬耶夫高地。但在16日,蘇近衛第13師渡過伏爾加河進入斯大林格勒,並突然向德軍發起反衝擊,又奪回了該高地。很多重要據點雙方進行了反複爭奪,其中第一火車站的爭奪戰達一周之久。德軍不顧一切,一步步向市中心逼近。

9月25日,德軍占領了市中心,27日衝進了北部工廠區,並重新占領了馬馬耶夫高地,但在29日又被蘇軍奪回。以後的戰鬥更加激烈,兩方軍隊不斷地交替占領這片高地。斯大林格勒工業區修建在丘陵中,建築物用鋼筋混凝土澆築或用石頭砌成。德軍的推進不是用公裏,而是用米來衡量,德第6集團軍的一位叫漢斯·德爾的軍官在《進軍斯大林格勒》一書中寫到:“敵我雙方為爭奪每一座房屋、車間、水塔、鐵路路基,甚至為爭奪一堵牆、一個地下室和每一堆瓦礫都展開了激烈的戰鬥。其激烈程度是前所未有的。”對火車站反複爭奪達13次之多。在一個大糧食倉庫裏,兩軍的士兵非常接近,甚至能夠聽到對方的呼吸聲,經過數個星期的苦戰,德軍不得不從這個倉庫撤走。在城中的另一個部分,由揚科夫·巴甫洛夫指揮的一個小分隊(共計6人)占據了城中心的一座公寓樓,並頑強地進行抵抗。士兵們在大樓附近埋設了大量地雷,並在窗口安設了機槍,還將地下室的隔牆打通以便通訊。這座頑強的堡壘後來被蘇聯人驕傲地稱為“巴甫洛夫大樓”(最後僅剩一堵牆還留到現在,上麵雕刻著士兵抵抗的畫麵,右上角刻著58以表明他們6人堅守了58天)。

由於德軍無法看到戰鬥結束的跡象,便開始調遣包括600毫米迫擊炮在內的重裝甲部隊開入城內。然而在伏爾加河東岸的蘇聯火炮部隊將德軍置於其炮火籠罩之下。而城中的紅軍防禦部隊仍然利用廢墟進行戰鬥。由於城內布滿了高達數米的瓦礫堆和廢棄建築,德國的坦克部隊毫無用武之地。此外,蘇聯的狙擊手非常成功地利用廢墟作為掩體,給德軍造成了極大傷亡。這其中最為成功的一名狙擊手Zikan到11月20日為止已經擊斃了224個敵人。59年後他成為好萊塢電影《兵臨城下》(又名《決戰中的較量》)裏的主人翁瓦西裏·紮伊采夫的原型。另外一名狙擊手也創造斃敵149人的紀錄。

對於斯大林和希特勒來說,斯大林格勒戰役都是事關成敗的關鍵一戰。蘇軍指揮部將戰略重點從莫斯科轉移到了伏爾加河地區,並且調動了全國所有的空中力量支持斯大林格勒。在9月底和10月初,蘇軍向斯大林格勒城區調去了6個步兵師和1個坦克旅;德軍則調去了20萬補充部隊,包括90個炮兵營和40個受過攻城訓練的工兵營。

雙方部隊的指揮官都承受著巨大的壓力。德軍的指揮官保盧斯得了眼部肌肉痙攣的疾病,而崔可夫也在不見日光的地下室司令部也忍受著濕疹的病痛,以至於不得不將自己雙手完全包紮起來。

此時,德軍在蘇聯南部的戰線是從庫爾斯克和沃羅涅日起,通過斯大林格勒到莫茲多克,長達1250英裏以上。再加上從庫爾斯克到列寧格勒之間的800英裏,德軍在蘇聯的戰線全長已在2000英裏以上,而以德國當時的兵力和資源,根本就不足以維持如此長的戰線。特別危險的是,從斯大林格勒沿頓河上溯至沃羅涅日共長350英裏,竟毫無掩護。德國自己騰不出兵力來填補這個缺口,隻得在這一線部署了附庸國的3個集團軍:匈牙利第2集團軍在沃羅涅日南麵;意大利第8集團軍在東南麵更遠一些的位置;羅馬利亞第3集團軍在斯大林格勒正西、頓河灣曲部的右側。這使得戰線拉得非常狹長,有些地段甚至隻有一個野戰排來防守整整2公裏的防線。而蘇軍在伏爾加河南岸保留了幾個攻擊點,這對德軍構成了潛在的威脅。希特勒並非不知道這些裝備和戰鬥力都極差的附庸國部隊是不足以擔負這個任務的,但他卻深信隻要能迅速攻克斯大林格勒,則即可抽出足夠的兵力。德國陸軍參謀總長弗朗茲·哈爾德表示了憂慮和異議,認為斯大林格勒是不可陷入的,力主應放棄這個作戰,並向西撤退。結果,希特勒便在9月底免去了哈爾德陸軍總參謀長的職務,任命原駐法國的德軍總司令庫爾特·蔡茨勒上將為新一任陸軍總參謀長。

9月28日,蘇軍最高統帥部決定將斯大林格勒方麵軍改稱頓河方麵軍,司令員為羅科索夫斯基中將;東南方麵軍改稱斯大林格勒方麵軍,司令員為葉廖緬科上將;近衛第1集團軍擴建為西南方麵軍,司令員瓦杜丁中將。副最高統帥朱可夫大將和總參謀長華西列夫斯基上將奉命秘密擬製反攻計劃。

10月份一個月中,斯大林格勒一直進行著激烈的巷戰。德軍逐屋戰鬥,從地麵和地下的廢墟中找路前進,所以也被稱為“老鼠戰爭”,甚至開玩笑說:“即使我們占領了廚房,仍然需要在客廳進行戰鬥。”斯大林來決不能讓這座以自己名字命名的城市落入德軍之手的。他親自下令葉廖緬科上將,要求在任何情況下都要堅守該城。每一座房屋,隻要有蘇聯軍人,哪怕隻有一個人,也要成為敵人攻不破的堡壘。而對希特勒來說,斯大林格勒的精神價值已超過了其戰略價值,非要攻陷它不可,當新任陸軍總參謀長蔡茨勒將軍小心地向他指出第6集團軍北翼漫長的頓河戰線麵臨著危險,建議將第6集團軍撤到頓河河曲。希特勒嚴厲地回答說:“德國士兵到了哪裏,就要守到哪裏!”

經過3個月血腥的戰鬥至11月初,德軍終於緩慢地推進到了伏爾加河岸,並且占領了整座城市的80%地區,將留守的蘇聯軍隊分割成兩個狹長的口袋狀,德軍始終未能完全占領斯大林格勒。此外,伏爾加河開始結冰,導致蘇聯不能再通過船運送補給品給城中守軍。盡管如此,馬馬耶夫高地附近的戰鬥和北部城區的工廠地帶的戰鬥依然非常激烈。其中,紅色十月工廠、拖拉機廠和街壘工廠的戰鬥為全世界所知曉。當蘇聯士兵與德軍進行槍戰的同時,工廠內的工人就在側旁修複損壞的坦克和其它武器,有的時候甚至就直接在戰場上修理武器。坦克由工廠的工人誌願兵駕駛。這些坦克往往直接從兵工廠的生產線上開到了戰鬥前線,甚至來不及塗上油漆和安裝射擊瞄準鏡。

11月11日,德軍以5個步兵師、2個裝甲師和2個工兵營在寬5公裏的正麵上發起強攻。戰鬥隊形高度密集。一天之內,蘇德兩軍為爭奪每寸土地、每座房屋,都進行了異常激烈的戰鬥,雙方傷亡慘重。德軍雖然在街壘工廠以南衝到達了伏爾加河岸,但部隊已疲憊不堪,其攻勢已成強弩之末,保盧斯被迫於次日停止了進攻,修整部隊。蘇軍的損失同樣嚴重,第62集團軍的兩個師損失了75%的兵員。

根據蘇聯方麵統計,從7月到11月的戰鬥中,德軍在頓河、伏爾加河和斯大林格勒的戰鬥中損失約70萬人,1000餘輛坦克,2000多門火炮,1400餘架飛機。

蘇軍最高統帥部自9月底開始準備大反攻,負責斯大林格勒地區總體戰略的朱可夫開始向斯大林格勒秘密大規模集結兵力。至11月中旬,在斯大林格勒地域城外的南北兩側的蘇軍計3個方麵軍10個諸兵種合成集團軍,1個坦克集團軍,4個空軍集團軍和若幹個獨立軍、坦克軍和旅,共143個師110.6萬人,計15500門火炮和迫擊炮,1463輛坦克和強擊火炮,1350架飛機。當麵的德軍B集團軍群共有80個師又3個旅,約100萬人,10290門火炮,675輛坦克,1216架飛機。

朱可夫的策略是將德軍繼續牽製在城內,然後通過打擊德軍虛弱的外側來將德軍包圍在斯大林格勒市區。11月13日,斯大林批準了朱可夫和華西列夫斯基擬製反攻計劃,並親自給這個計劃取代號為“天王星行動”,這與針對德軍中央軍群的“火星行動”相呼應。該計劃規定:西南方麵軍由瓦杜丁中將指揮,其任務是從頓河西岸的謝拉莫菲維奇和克利茨卡亞地域橋頭陣地實施主攻,突破羅馬利亞第3集團軍防禦,直插頓河東岸的卡拉奇;斯大林格勒方麵軍由葉廖緬科上將指揮,其任務是從斯大林格勒南麵向西北突擊,突破羅馬尼亞第4集團軍防禦,與西南方麵軍在卡拉奇會師,完成對德第6集團軍的合圍;頓河方麵軍由羅科索夫斯基中將指揮,其任務是從斯大林格勒西北麵向東南實施輔助性突擊,掩護西南方麵軍的主攻。反攻日期定為:西南方麵軍和頓河方麵軍為11月19日,斯大林格勒方麵軍為11月20日。

1942年11月19日,蘇聯紅軍開始實施“天王星行動”。圖瓦京的西南方麵軍和羅科索夫斯基的頓河的方麵軍在漫天飛絮般的大雪中發起了反攻,瓦杜丁中將指揮的主攻部隊包括整整3個集團軍(近衛第1集團軍,第5坦克集團軍和第21集團軍),一共由18個步兵師,8個坦克旅,2個摩托旅,6個騎兵師和1個反坦克旅組成,並得到空軍第2,第17集團軍支援。負責防衛德軍第6集團軍側翼安全的羅馬尼亞第3集團軍,由於在數量上處於絕對劣勢並且缺乏精良裝備,僅僅在戰鬥發起一天之內羅馬尼亞第3集團軍的陣地便被蘇軍突破。

頓河方麵軍實施兩個輔助突擊,以第65集團軍從克列茨卡亞以東地區向東南突擊,以第24集團軍從卡恰林斯卡亞地區沿頓河左岸向韋爾佳奇方向向南突擊,割裂頓河小彎曲部德軍與斯大林格勒德軍的聯係。第66集團軍在斯大林格勒以北地區原地防禦。頓河方麵軍得到空軍第16集團軍支援。

11月20日,葉廖緬科的斯大林格勒方麵軍第51、57、64集團軍也在南部轉入反攻,突破了防衛該地區的羅馬尼亞第4集團軍的防線,主要由騎兵組成的羅馬尼亞人迅速被殲滅。此後蘇軍迅速向北直趨卡拉奇。22日,西南方麵軍開始分批渡過頓河。23日,西南方麵軍和斯大林格勒方麵軍在卡拉奇會師,從而完成了對斯大林格勒的包圍。至30日,蘇軍3個方麵軍將德第6集團軍的5個軍22個師,羅馬尼亞和意大利部隊以及部分克羅地亞軍隊共約27萬人合圍在斯大林格勒1500平方公裏的地域內,第6集團軍隻有約5萬人的部隊被分割在包圍圈之外。

當德軍最高統帥部接到蘇軍發起反攻的消息後,陸軍總參謀長蔡茨勒將軍力勸希特勒下令保盧斯撤出斯大林格勒。然而,空軍司令戈林元帥卻向希特勒保證說,他可以保證空軍有能力通過“空中橋梁”為第6集團軍的空中補給。事實證明德國空軍根本沒有提供如此大規模部隊的供給的運輸能力,其每天300噸的運輸上限也無法滿足每天700噸的需求。但希特勒仍然支持戈林的計劃,希特勒遂下令保盧斯必須堅守陣地,第6集團軍必須留在斯大林格勒,並命令他這個集團軍今後改稱“斯大林堡壘”集團軍。由於惡劣天氣和蘇軍防空火力,空投計劃很快就遭受失敗。據統計,德軍隻得到10%左右的所需物資,第6集團軍漸漸感受到饑餓與寒冷的威脅。另一麵,蘇軍在不斷加強對斯大林格勒的包圍圈,並開始縮小包圍圈的行動。