ב-24 במאי נתקלו הכוחות הפולנים והאוקראינים בדרום בפעם הראשונה בארמיית הפרשים הראשונה של סמיון בודיוני. מתקפות חוזרות ונשנות של הפרשים של בודיוני שברו את קו החזית הפולני אוקראיני ב-5 ביוני וניתקו את קווי האספקה והתקשורת בעורף הכוחות הפולנים. ב-10 ביוני כבר היו הפולנים בנסיגה לאורך כל החזית. ב-13 ביוני נאלצו הפולנים לסגת מקייב ולמסרה לידי הבולשביקים.
שרשרת הניצחונות הבולשביקים.
מפקד הארמייה השלישית הפולנית באוקראינה, הגנרל אדוארד רידז שמיגלי החליט לפרוץ לכיוון צפון מערב. הכוחות הפולנים באוקראינה הצליחו לבצע נסיגה מסודרת, ויחסית ללא נפגעים, אך לא הצליחו לתמוך באנשי החזית הצפונית ולחזק את עמדותיהם על נהר האוטה, לקראת הקרב המכריע הממשמש ובא.
בשל מחסור בכוח אדם, אוישה החזית בת מאתיים הקילומטרים בקו דק של מאה ועשרים אלף חיילים ולהם 460 קני ארטילריה, וללא כל עתודה אסטרטגית. גישה זו של "החזקת קו" הוכיחה את עצמה בחזית המערבית במלחמת העולם הראשונה, כאשר הקו נתמך בכוח אדם מספיק, מקלעים וארטילריה. בחזית המזרחית של פולין, לא היה את כוח האדם והארטילריה, והלוחמים לא הספיקו להתבצר די הצורך.
אל מול החזית הפולנית בצפון המערב בלבד העמיד הגנרל מיכאיל טוכצ'בסקי 108,000 רגלים, 11,000 פרשים, 722 קני ארטילריה, ו 2,913 מקלעים. בכמה נקודות אסטרטגיות היה היחס ארבעה לאחד לטובת הרוסים.
טוכצ'בסקי הכה ב-4 ביולי לאורך הציר סמולנסק - ברסט ליטובסק. הוא חצה את נהרות האוטה והברזינה. במשך שלושה ימים נראה כי הקרב תלוי על בלימה, אך העדיפות המספרית הכריעה בסופו של דבר, והפולנים החלו בנסיגה ב-7 ביולי.
הפולנים נסוגו לקו של "חפירות גרמניות", קו שבוצר על ידי הגרמנים במהלך מלחמת העולם הראשונה ואשר נראה היה כי יהיה בידו לעצור את הרוסים המסתערים, אך יתרונם המספרי של הרוסים הכריע אף כאן. הכוחות הרוסיים הסתערו על אזור מבוצר פחות בקו והצליחו להבקיע בו פרצה. ב-14 ביולי נפלה וילנה לידי הרוסים, ובדרום, בגליציה, התקדמו פרשיו של סמיון בודיוני עמוק אל העורף הפולני, כבשו את ברודנו והגיעו למבואות לבוב וזאמושץ'. בשלב זה הסתבר לפולנים שמטרות הרוסים אינן מוגבלות להדיפתם אל הגבול. הסתבר כי עצם קיומה של פולין העצמאית נתון על הכף.
הכוחות הרוסיים דחפו קדימה בקצב של למעלה משלושים קילומטרים ביום. גרודנו בבלארוס נפלה ב-19 ביולי וב-1 באוגוסט נפלה ברסט ליטובסק. ניסיונות פולנים לעצור את התוקפים על נהר הבוג המערבי הצליחו לעצור את ההתקדמות הרוסית למשך שבוע. אחרי חציית נהר הנאריוב ב-2 באוגוסט היו יחידותיהם הקדמיות של הרוסים בצפון המערב רחוקות אך כמאה קילומטרים מורשה. החזית הדרום מערבית הרוסית הדפה את הפולנים אל מחוץ לאוקראינה, ועמדה על סף כיבוש לבוב, העיר הגדולה בדרום מזרח פולין, ומרכז תעשייתי חשוב. הדרך אל הבירה הפולנית הייתה עתה פתוחה. חמש ארמיות רוסיות התקרבו לוורשה מכל העברים.
הכוחות הפולנים בגליציה באזור לבוב ערכו מתקפת נגד שהיה בידה להאט את ההתקדמות הרוסית באזור זה. נסיגתם של הכוחות הפולנים בדרום נעצרה, אך המצב בסמוך לבירה היה חמור, ומנע את ההתקדמות הפולנית בדרום. תוכניות למתקפה שתנצל את ההצלחה בדרום עוכבו, וכל הכוחות הפנויים הופנו אל ורשה.
החזית הדיפלומטית, חלק שני: המשחק הפוליטי.
כאשר פנה גלגל המלחמה כנגד פולין, נחלש כוחו הפוליטי של פילסודסקי. יריביו, לרבות רומן דמובסקי, הגיעו לעמדות כוח. עם זאת שמר פילסודסקי על כוחו בשורות הצבא, בעוד שכוחות הבולשביקים עולים על ורשה, והזירה הפוליטית הפולנית כמרקחה. בינתיים הקימו הבולשביקים ממשלת בובות פולנית, שכונתה "הועד המהפכני הפולני הזמני" ונוסדה ב-28 ביולי בביאליסטוק, ומיד החלה בהשגת השליטה באזורים שנכבשו על ידי הרוסים. לממשלה זו הייתה תמיכה מועטה בקרב הפולנים, והיא הצליחה לגייס למטרותיה רק את הבלארוסים והיהודים. בנוסף לכך האינטריגות הפוליטיות בין המפקדים הרוסים השונים החריפו ככל שניצחונם נראה ודאי.
דעת הקהל המערבית נטתה כנגד פולין. משקיפים חיצוניים רבים ציפו לנפילתה המהירה של פולין והפיכתה לרפובליקה נוספת בברית המועצות. ראש ממשלת בריטניה דייוויד לויד ג'ורג' לחץ על פולין להגיע להסכם שלום על פי תנאי הרוסים. ב-6 באוגוסט 1920 פרסמה מפלגת הלייבור הבריטית כרוז המביע את תמיכת הפועלים בבריטניה ברוסים, ומכריז כי הפועלים הבריטים לא ייקחו חלק במלחמה לצד פולין. הסוציאליסטים הצרפתים, בעיתונם, "ל'הומניטה" הכריזו אף הם על תמיכתם ברוסים. פועלים גרמנים סירבו לסייע בהעברת משלוחים לפולין. אוסטריה, צ'כוסלובקיה וליטא נקטו עמדה אנטי פולנית מובהקת, וליטא אף שלחה חיילים לסיוע לרוסים במלחמתם. העמדה הליטאית הייתה מובנת על רקע השאיפות הפולניות לסיפוח וילנה למדינתם, ועל רקע העובדה כי הצבא האדום שהה על גבולות המדינה בכוח גדול.
בעלי הברית של הפולנים היו מעטים. צרפת המשיכה את מדיניותה כנגד הבולשביזם, עתה כאשר ה"לבנים" הובסו כמעט לחלוטין ברוסיה, נשלח כוח בן 400 חיילים, רובם קצינים, וחלקם "יועצים" בריטיים בפיקודו של פול פרוספר אנרי. המאמץ הצרפתי היה חיוני לשיפור הלוגיסטיקה של הצבא הפולני, אשר עד 1919 לא היה אחיד בארגונו ובציודו, שכן היה מורכב מלוחמים שלחמו בעבר בשורות צבאות שונים. בין הלוחמים הצרפתים היה נשיא צרפת לעתיד שארל דה גול אשר זכה לאות הגבורה הפולני הגבוה ביותר "וירטוטי מיליטרי" על הצטיינותו בקרב. בנוסף ל"יועצים" הגיע מצרפת הצבא הכחול, קבוצה של צרפתים ממוצא פולני, ומתנדבים בינלאומיים, אשר שירתו בצבא צרפת במלחמת העולם הראשונה. הקבוצה הייתה בפיקוד הגנרל הפולני יוזף הלר.
באמצע 1920 אף הגיעו לפולין יועצים צבאיים ממדינות שונות במערב, ביניהם מקסים וייגאן, שלישו לשעבר של המרשל פרדיננד פוש, מפקדו העליון של צבא מדינות ההסכמה, ולימים מפקדו של הצבא הצרפתי במלחמת העולם השנייה. אך יועצים אלו לא הביאו לתרומה מכרעת למערכה, וחוסר התקשורת שלהם עם מארחיהם הפולנים גרם לכך שתרומתם תהיה שולית, והפולנים זכו בניצחון בטרם יספיקו יועצים אלו לסייע להם. במשך שנים טיפח וייגאן את האגדה כאילו הייתה זו הגעתו ברגע האחרון אשר הביאה לניצחון בקרב.
הגלגל מתהפך: הנס על הוויסלה.
ב-10 באוגוסט 1920 חצו יחידות פרשים רוסיות את נהר הוויסלה, במטרה לכבוש את ורשה ממערב, בעת שההתקפה העיקרית תגיע ממזרח, במעין תנועת מלקחיים. ב-13 באוגוסט נהדפה התקפה רוסית ראשונה. הארמייה הפולנית הראשונה הצליחה לעצור את המתקפה, ובעת ובעונה אחת לעצור מתקפה נוספת ברדזימין.
המפקד העליון הרוסי, טוכצ'בסקי, שחש כי הכול מתבצע על פי תוכניותיו, נפל למלכודת שטמן לו פילסודסקי. ההתקדמות הרוסית וחציית הויסלה מצפון הביאה את הרוסים לשטח בו לא היו כוחות פולניים משמעותיים. מצד שני, מדרום לוורשה, השאיר טוכצ'בסקי רק משמר אחורי סמלי ששימש כחוליה המקשרת בין הכוחות הרוסיים בחזית הצפון מערבית והחזית הדרום מערבית. גורם מכריע נוסף היה ניטרול הפרשים של בודיוני אשר ספגו מפלה בקרב על לבוב. טוכצ'בסקי הורה לבודיוני להתקדם צפונה לעבר ורשה ולובלין, אך בודיוני סירב פקודה, בשל יחסיו הגרועים עם טוכצ'בסקי, ואלכסנדר יגורוב, מפקד החזית הדרום מערבית. בנוסף לכך היו אלו תככיו של סטלין, הקומיסר הפוליטי הראשי של החזית הדרום מערבית, אשר השפיעו על בודיוני לסרב לפקודה. סטלין חפץ בניצחון אישי, ורצה להתרכז בכיבוש לבוב, אשר הייתה נתונה במצור, אך החזיקה מעמד בנחישות.
הארמייה החמישית הפולנית, בפיקודו של ולדיסלב שיקורסקי ביצעה התקפת נגד ב-14 באוגוסט. הארמייה ניצבה מול כוחות גדולים ממנה הן בכוח אדם והן בחימוש, אך שיקורסקי הצליח להדוף את הסובייטים ולהפוך את התקדמותם לנסיגה. עתה החלו הצבאות הפולנים להתקדם במהירות של 30 קילומטרים ביום, ועד מהרה התנפצו תקוות הרוסים לסגירת המלקחיים על הכוחות הפולניים בצפון. ב-16 באוגוסט הצטרפו "כוחות המילואים" של פילסודסקי למתקפה, והתקיפו בפער שבין החזיתות הרוסיות, תוך ניצול חולשת הכוחות שהקצה טוכצ'בסקי לאזור זה. הפולנים המשיכו במתקפה צפונה כאשר שתי ארמיות דולקות בעקבות האויב המופתע. הם הגיעו לעורפם של כוחות טוכצ'בסקי וב-18 באוגוסט הצליחו לכתר חלקים ניכרים מהם. רק בשלב זה הצליחו במפקדתו של טוכצ'בסקי במינסק, במרחק של 300 קילומטרים מורשה, לעמוד על ממדי התבוסה והורו לשארית הכוחות לסגת על מנת להתארגן בעורף. טוכצ'בסקי קיווה ליישר את הקו הקדמי, לעצור את המתקפה הפולנית, וליטול שוב את היוזמה הצבאית, אך פקודותיו כלל לא הגיעו אל הכוחות שבחזית.
הכוחות הסובייטים במרכז החזית הפכו לערבוביה בלתי מאורגנת. טוכצ'בסקי הורה על נסיגה כללית לכיוון נהר הבוג המערבי, אך איבד את הקשר עם רוב הכוחות שפעלו ליד ורשה. הצבאות נסוגו באופן בלתי מאורגן, תוך כדי פאניקה ואובדן שליטה. התבוסה הבולשביקית הייתה כה מפתיעה עד שאנשי פילסודסקי התייחסו אל הקרב מעתה ואילך כ"נס על הויסלה".
הארמייה של בודיוני זנחה את המצור על לבוב לקראת סוף אוגוסט, ונעה על מנת לסייע לצבאות הנסוגים בצפון. בקרב הפרשים הגדול האחרון בהיסטוריה הצבאית הובסו אנשי בודיוני ב"קרב קומרוב", ותפקידם במלחמה הסתיים.
נסיונותיו של טוכצ'בסקי לייצב קו הגנה על נהר הניימן נכשלו, ופרשיו של פילסודסקי חצו את הנהר.
באמצע אוקטובר היו אנשיו של פילסודסקי בערך בקווים מהם גורשו בשנה שלפני כן. הצבא האדום המותש שיווע להפסקת אש. פילסודסקי, אשר היה נתון ללחץ כבד ממדינות המערב, ואשר ממילא השיג את רוב יעדיו הצבאיים, הסכים להפסקת אש ב-12 באוקטובר, אשר נכנסה לתוקף ב-18 באוקטובר.