מבצע פרוסיה המזרחית
מהלך הקרב

ב-13 בינואר 1945 פתחו כוחות החזית הבלארוסית השלישית במתקפה על הגבול המזרחי של פרוסיה המזרחית, לאחר הפגזת ריכוך שנמשכה כשעתיים. הפיקוד הגרמני העריך נכונה את הגזרה הצפויה לספוג את המהלומה הסובייטית העיקרית, והיה מוכן לקראתה. הכוחות התוקפים ספגו הפגזה ארטילרית נגדית יעילה מצד המגינים הגרמניים. במהלך היום הראשון למתקפה התקדמו כוחות החזית לעומק 2 עד 3 ק"מ בלבד, ואף יחידה לא עמדה ביעדים שתוכננו לה. ערפל כבד לא איפשר ניצול של העליונות האווירית של חיל האוויר הסובייטי. במהלך 6 ימי לחימה, הצליחו הכוחות התוקפים להתקדם לעומק 45 ק"מ בלבד. אולם ארמיית הפאנצר השלישית של הורמאכט, שהגנה על הגזרה שהמתקפה, ספגה אבדות כבדות, והיה ברור שלא תוכל להמשיך להחזיק בעמדותיה לאורך זמן.
עקב מזג האוויר הקשה דחה קונסטנטין רוקוסובסקי, מפקד החזית הבלארוסית השנייה את מועד תחילת המתקפה של החזית ביום, והיא נפתחה ב-14 בינואר. במהלך היומיים הראשונים של המתקפה, התקדמות כוחות החזית הייתה איטית למדי. אך ב-17 בינואר הובקעה החזית הגרמנית, וארמיית המשמר המשוריינת ה-5 ניצלה את הפרצה לצורך התקדמות לעומק שטח האויב. לאחר שישה ימי לחימה כבר השיגו כוחות החזית את היעדים, שתוכננו רק ליום ה-11 של המתקפה. לפיכך יעדי החזית עודכנו. כדי לסייע למתקפה של החזית הבלארוסית השלישית, החליט הפיקוד הסובייטי להפנות את הכוח העיקרי של החזית צפונה, לכיוון חוף הים הבלטי, ורק חלק מכוחותיה המשיכו בהתקדמות מערבה לכיוון נהר אודר. המטרה של הפניה צפונה הייתה להגיע לחוף הים הבלטי, ולנתק את מרבית כוחות קבוצת ארמיות מרכז הגרמנית, שהחזיקו בפרוסיה המזרחית מהכוחות העיקריים של הורמאכט בחזית המזרחית, ולהשמיד אותם. שינוי כיוון התקיפה הפתיע את הפיקוד הגרמני, שלא היו מוכן להתפתחות זו. המטרה של החזית הושגה ב-23 בינואר כאשר כוחותיה הגיעו לחוף הים הבלטי סמוך לאלבינג, והארמייה השנייה של הורמאכט נאלצה לסגת לגדה המערבית של נהר ויסלה, תוך איבוד הקשר עם שאר היחידות של קבוצת ארמיות מרכז. ארמיית הפאנצר השלישית, הארמייה הרביעית, ומספר דיוויזיות של הארמייה הגרמנית השנייה, נותקו וכותרו בשטח פרוסיה המזרחית.
לאחר ניתוק כוחות הורמאכט בפרוסיה המזרחית, שונה שמה של קבוצת הארמיות שלחמה באזור לקבוצת ארמיות צפון, ומפקדה הוחלף.
יחידות של החזית הבלארוסית השלישית המשיכו בהתקדמותם האיטית, ולקראת 26 בינואר הגיעו לקו הביצורים החיצוני של העיר קניגסברג. הם הצליחו לאגף את העיר ולהגיע לחוף הים הבלטי. הגעת הצבא האדום לחוף הים הבלטי ממערב לקניגסברג, גרמה לפיצול הכוחות הגרמניים במזרח פרוסיה ל-3 חלקים מבודדים : 4 דיוויזיות באזור זמלנד, 5 דיוויזיות במרחב קניגסברג וכ-20 דיוויזיות בכיס אזור היילסברג, מדרום-מערב לעיר. ב-30 בינואר ביצעו הגרמנים התקפת נגד מתואמת והצליחו ליצור פרוזדור יבשתי צר, שחיבר את קניגסברג עם היחידות הגרמניות באזור היילסברג. פרוזדור זה הוחזק על ידי הגרמנים עד ל-30 במרץ.
ב-8 בפברואר קיבל קונסטנטין רוקוסובסקי הוראה להפנות את כוחות החזית מערבה. החזית הבלארוסית השלישית הייתה אמורה לחסל את יחידות הוורמאכט בהיילסברג, ויחידות של החזית הבלטית הראשונה לתקוף לכיוון קניגסברג וזמלנד.
במהלך הקרבות באזור היילסברג, איוואן צ'רניאחובסקי נפצע ונפטר תוך זמן קצר. במקומו מונה למפקד החזית אלכסנדר ואסילבסקי.
ל-20 בפברואר הייתה מתוכננת להתחיל מתקפה של החזית הבלטית הראשונה נגד אזור זמלנד המכותר. אומנם הגרמנים הקדימו והחלו את מתקפת הנגד. כתוצאה מכך, הם הצליחו להתקדם ולחדש את הקשר היבשתי עם קניגסברג. ב-24 בפברואר החזית הבלטית הראשונה בוטלה ויחידותיה הועברו לפיקוד חזית הבלארוסית השלישית. אלכסנדר ואסילבסקי החליט להפסיק את המתקפות לא יעילות ולהכין את הכוחות למתקפה חדשה תוך התארגנות מיוחדת. בהתחשב בהיקף הכוח שבראשותו הוא החליט שתחילה יש לטפל בקבוצה גרמנית באזור היילסברג.
המתקפה החדשה החלה ב-13 במרץ. בעקבות הערפל ניצול חיל האוויר הסובייטי היה מוגבל. למרות המגבלות וקשיי מזג האוויר הסובייטים הצליחו ב-26 במרץ להגיע לחוף הים תוך הריגת כ-96 אלף חיילים גרמנים ולקיחתם בשבי של כ-46 אלף. לאחר סיום הלחימה באזור התפנו 6 ארמיות סובייטיות. שלוש מהם הופנו לטובת מתקפה לכיוון ברלין ו-3 לכיוון קניגסברג.
המתקפה הכוללת על העיר החלה ב-6 באפריל. ביום ראשון לאור קשיי מזג האוויר חיל האוויר הסובייטי ביצע 274 טיסות בלבד. למחרת עם שיפור במזג האוויר חיל האוויר החל בהפגזות כאשר כל כיום בוצעו כ-3000 טיסות. ב-8 באפריל מגני העיר פוצלו ל-2 קבוצות. מפקד הצבאי של העיר ביקש מפרידריך-וילהלם מילר מפקד הארמייה הרביעית אישור לעזוב את העיר ולפרוץ לכיוון זמלנד אך בקשתו לא כובדה. הארמייה הרביעית ניסתה לחבור לעיר אך ללא הצלחה. ב-9 באפריל מפקד העיר החליט על כניעה. אדולף היטלר הוציא פסק דין על הוצאתו להורג, אך לא היה ניתן לבצע אותו כי הגנרל היה בשבי סובייטי.
לאחר כיבוש העיר נמשכו קרבות באזור חצי האי זמלנד והבסיס ימי בפילאו. לצורך מתקפה זו הצבא האדום הקים את קבוצת ארמיות זמלנד בפיקוד איוואן בגרמיאן. העיר פילאו והבסיס הימי שלה היו מבוצרים היטב. הקרבות לכיבוש האזור היו קשים ונמשכו עד ל-25 באפריל.