הרוסים נקטו בטקטיקה אשר תשמש אותם גם במלחמות עתידיות ועיקרה, השימוש באדמת רומניה כפלטפורמה לפלישה לבולגריה ודרכה לשאר חבל הבלקן. הכוח הרוסי רוכז ליד העיר זימניץ ברומניה, המצויה במישור הדנובה, עניין המקל על ההתארגנות לאחר החצייה מבחינת תוואי הקרקע. חציית נהר הדנובה, בוצעה על גבי הגשרים הקיימים לכוון העיר סבישטוב, כשהמשימה הראשונה לאחר כיבוש העיר הייתה אבטחת ראש הגשר, התארגנות והמשך תנועה ליעדים השונים. לצבא הרוסי לא היו אמצעי תחבורה ממונעים, כך שמדובר היה במבצע לוגיסטי מפרך, אשר הצריך ארגון של 185,000 החיילים על ציודם. התקיפות הראשוניות נועדו להרחבת ראש הגשר בתוואי הקרקע של מישור הדנובה, אשר אפשר לרוסים להעמיק את ראש הגשר. ציר אחד סבישטוב- ניקופול – פלבן חציית נהר ויט והצבת איום על העיר סופיה. ציר שני, סבישטוב – רוסה – ביאלה. ציר שלישי לכוון טרנובו.
כל מהלך חציית הדנובה ליד סבישטוב נולד לאחר פעולת הסחה רוסית, כאשר כוח מצומצם חצה את הדנובה ליד גאלאץ והחל בתנועה לכיוון רוסה, עניין שחיזק את ה"קונספציה" העות'מאנית בדבר אופן התקדמותם המתוכננת.
הרוסים ידעו, כפי שידעו כובשים רבים לאורך ההיסטוריה, שהאוחז במעברי הבלקן, אוחז בנקודת מפתח לכיבוש חבלי תראקיה מקדוניה ולמעשה כל פלך רומליה. השתלטותם על מעבר שיפקה והחזקתם בו בכל מחיר, סללה בפניהם את הדרך והם נעו בשני צירים. האחד לכיוון הים השחור דרך סליבן עד העיר החשובה בורגס והשני לכוון בירת מחוז רומליה המזרחית פלובדיב ומשם בתוואי נהר המריצה לכיוון אדריאנופול. מאדריאנופול סלולה הייתה הדרך לכיוון איסטנבול.
הפיקוד העות'מאני-הנחות יסוד.
הפיקוד הצבאי באיסטנבול הניח מספר השערות שגויות: הם שיערו כי הצבא הרוסי עצל מכדי לצעוד לאורך הדנובה ולעבור אותו בשפך הנהר, ויעדיף לנוע בנתיב הקצר יותר לחופי הים השחור. הנחה זו התעלמה מהעובדה שבחופים אלו לעות'מאנים הייתה את מערכת ההגנה החזקה ביותר, ושצעידה לתוך ביצורים אלו תהיה התאבדות של הרוסים. עקב הנחה שגויה זו, היה לעות'מאנים רק ביצור אחד שאויש כראוי במורד הדנובה, בעיירה וידין, בה הוצב חיל המצב העות'מאני באקראי, כיוון שהחיילים נזקקו למקום מנוחה לאחר הקרבות כנגד הסרבים במלחמתם באימפריה העות'מאנית.
מהלך המלחמה.
בתחילת המלחמה השמידו הרוסים והרומנים את כל כלי השיט שהפליגו בדנובה ומיקשו את הנהר, כך שהובטחה לצבא האפשרות לחצות את נהר הדנובה בכל נקודה בה חפץ. אך גם מהלך זה לא עורר תגובה מצד הפיקוד העות'מאני. בחודש יוני חצה כוח רוסי קטן את הדנובה סמוך לשפך הנהר, ליד העיר גאלאץ, וצעד לכיוון העיירה רוסצ'וק. חצייה זו גרמה לאימפריה העות'מאנית להיות עוד יותר סמוכה ובטוחה כי הצבא הרוסי הגדול עתיד לעבור דרך לב ליבו של המעוז העות'מאני.
ביולי החלו הרוסים לבנות, ללא כל הפרעה, גשר על נהר הדנובה בקרבת סבישטוב ואף החלו לעבור דרכו. העיר סבישטוב הייתה הראשונה ששוחררה מעול העות'מאנים. באזור לא היה כוח עות'מאני משמעותי ולאחר קרב בו נהרגו כ-800 חיילים, הצליחו הרוסים לאבטח את ראש הגשר. בשלב זה ביצע הצבא הרוסי, תנועת מלקחיים. כח ראשון בפיקודו של יורש העצר אלכסנדר אלכסנדרוביץ', לימים הצאר אלכסנדר השלישי, נע לכיוון המבצר העות'מאני בעיר רוסצ'וק ואבטח את האגף המזרחי של הצבא הרוסי. הכוח השני נע לכוון ניקופול, דרך טרנובו וגזרת הרי הבלקן, תוך אבטחת האגף המערבי של הצבא הרוסי ויצירת נתיב לאיום עתידי על איסטנבול.
הפיקוד באיסטנבול הורה לעות'מאן פאשה, שפיקד על הכח שהוצב בווידין, לצעוד לכיוון הצבא הרוסי ולבצר את המאחז הקרוב אשר בניקופול. במהלך אותה צעידה הובאה לידיעתו של פאשה כי הרוסים כבר הצליחו לשים ידם על המבצר. למשמע ידיעה זו החליט לשנות את כיוון הצעידה לפלבן. פחות מ-24 שעות לאחר התבצרותו של פאשה, כ-9,000 חיילים רוסים תחת פיקודו של "הגנרל הלבן" סקובלב הכריזמטי, תקפו את המבצר של פלבן, שאויש ב-15,000 חיילים עות'מאנים.
עות'מאן פאשה ארגן תוכנית הגנה מבריקה וגרם לרוסים אבדות קשות בשני ניסיונות של הצבא התוקף לפרוץ לתוך העיר. בנקודה זו מספר החיילים בכל צד היה כמעט שווה. אך המורל של הרוסים היה ירוד, ובמחקר המודרני נקבע כי מכת-נגד עות'מאנית הייתה יכולה לגרום להם להשתלט על הגשר הרוסי ואף להרוס אותו. אך בפועל, פאשה קיבל הוראות מהפיקוד העליון העות'מאני להישאר מבוצר בפלבן, וכך אכן עשה. עתה לרוסים לא נשארו כוחות לתקוף פעם נוספת את המאחז, ובמקום זאת החליטו להטיל מצור על העיר. בנוסף, ביקשו עזרה מהרומנים בשליחת כוחות צבא לעזרתם. תוך זמן קצר בלבד עברו הרומנים את הדנובה והצטרפו למצור, בפיקודו האישי של הנסיך קרול. הם נלחמו בגבורה כדי לכבוש את ההרים שמסביב לפלבן, והטיבו להחזיק בהם עד לסוף תקופת המצור.
במצור (יולי - ספטמבר 1877) חל המפנה רק לאחר שהרוסים ניתקו את קווי האספקה העות'מאנים לעיר המבוצרת ובעיר החל להיווצר מחסור ורעב. בצעד נואש אחרון, ניסה עות'מאן פאשה לשבור את המצור הרוסי, וב-9 בדצמבר 1877, באישון ליל, הצליחו הכוחות העות'מאנים לחצות את הנהר ויט, לתקוף את הצבא הרוסי בחזית של כ-3 קילומטרים ואף לפרוץ את קו ההגנה הראשון שלהם. הרוסים הצליחו להדוף את העות'מאנים בקו ההגנה השני ועות'מאן פאשה עצמו נפצע בקרב, נפל מסוסו ופציעתו עוררה פאניקה בקרב הכוחות העות'מאנים, אשר נסוגו חזרה לעיר בהותירם 5,000 הרוגים, לעומת 2,000 הרוגים לרוסים. למחרת נכנע עות'מאן פאשה ובעוד שהוא עצמו זכה ליחס הוגן, חלק מחייליו שנשבו או נפצעו, נטבחו בידי הבולגרים.
בשלב זה, הכריזה סרביה מלחמה על האימפריה העות'מאנית, לאחר שהובטח לה סיוע כספי נדיב מהאימפריה הרוסית. בפיקודו בפועל של הגנרל קוסטה פרוטיץ', תקף הצבא הסרבי את העות'מאנים והגיע להישגים לא מבוטלים. הישגים אלו יכלו להיות גדולים יותר, לולא לחצה של האימפריה האוסטרו הונגרית, שרצתה למנוע יצירתו של קשר יבשתי בין סרביה למונטנגרו. בסיום הקרבות העבירו הסרבים לחזקתם את הערים בלה פאלאנקה, פירוט, ניש ווראניה.
הרוסים, תחת פיקודו של הפילדמרשל יוסיף גורקו, כבשו בהצלחה את המעברים של רכס הרי הבלקן, שהיו קריטיים לתזוזת הצבא. למרבה האירוניה, הרוסים השתלטו על מעבר שיפקה, שפונה על ידי העות'מאנים עצמם לאחר שעמדו בפני מספר תקיפות בו. מאוחר יותר ניסו העות'מאנים לכבוש מחדש את המעבר, שהיה חשוב ביותר להעברת כוחות לפלבן, אך הכול היה לשווא. המתקפה העות'מאנית במעבר זה נחשבת לאחת הטעויות המרכזיות במלחמה, שכן היו מעברים אחרים באזור שלא היו תחת שמירה רוסית. אך גם טעות זו היא קטנה, לעומת העובדה, שבכל הזמן הזה היו כוחות עות'מאנים עצומים ממוקמים ברחבי חופי הים השחור ורק מעטים מהם נוצלו ללחימה ממשית.
גם גדוד פיני, ומיליציות מתנדבים בולגרים מקומיים, נטלו חלק במלחמה כאשר נלחמו לצד הכוחות הרוסים. בדרכם חזרה הביתה, כהכרת תודתו לגדוד הפיני שפעל למעלה מהמצופה, העניק הצאר הרוסי לגדוד את השם "גדוד המשמר הזקן", בו הם משתמשים עד היום.
החזית האסייתית.
ההערכות לקרב.
על צבא האימפריה הרוסית בקווקז פיקד מיכאיל ניקולאייביץ' והוא מנה כ-75,000 חיילים, כאשר הצבא העות'מאני בפיקודו של אהמט מוחתאר פאשה, מנה 80,000 חיילים. ברוסים תמכו מיליציות אזוריות בארמניה וגאורגיה. תוכנית הלחימה הרוסית הייתה הגנתית, תוך שמירה על ההישגים הטריטוריאליים, שהושגו במשא ומתן הדיפלומטי, לאחר מלחמת קרים מחד-גִּיסָא, ונועדה למשוך את מירב הכוחות העות'מאנים מן הבלקן לקווקז מאִידָךְ-גִּיסָא. מדובר בטריטוריות מוסלמיות, שעברו לחזקת הרוסים במהלך המאה ה-19, והיו בעלות זיקה מובנת ורבת שנים לאימפריה העות'מאנית, כך שהעות'מאנים מצידם קיוו לתסיסה אזורית, אשר תשבש את תוכניות הרוסים.
ההתקוממות באבחזיה דאגסטן וצ'צ'ניה.
בחודש מאי 1877, השתלטו מורדים אבחזים וצ'רקסים על העיר סוחומי, בירת חבל אבחזיה (אוקרוג סוחומי), תוך הסתייעות בהפגזות מן הים של הצי העות'מאני, ונחיתה אמפיבית של מורדים וכוחות עזר עות'מאניים. בחודש יוני, ניסה כוח רוסי בפיקודו של פבל פבלוביץ' קרבצ'נקו, מפקד ההגנה האזורית בסוחומי, לכבוש מחדש את העיר מספר פעמים ונחל כישלון חרוץ.
הרוסים נאלצו להעביר מהבלקן לאזור שתי אוגדות חיל רגלים, כדי לשחרר את העיר והיא חזרה לידיהם ב 19 באוגוסט. ההצלחה האבחזית עודדה גם גורמים בצ'צ'ניה ובדאגסטן להתקומם. התקוממות משמעותית פרצה בדאגסטן, כתוצאה מפתווה, שהוציאה ההנהגה הדתית אסלאמית בחבל. לאחר הצלחה ראשונית וגירוש חיל המצב הרוסי במקום, הובסו המורדים והצבא הרוסי הוציא להורג אלפי מורדים ובני משפחותיהם וגירש מן החבל רבים אחרים. עם זאת, בשל האי-שקט נאלץ הצבא הרוסי לרתק לאזור כוחות גדולים, בהיקף של שתי דיוויזיות חיל רגלים.
הקרבות בקווקז.
רבים מקציני הצבא הרוסי שהוצב באזור, היו ממוצא ארמני, חלקם בכירים כגון הגנרלים בייבוט שלקובניקוב, מיכאיל לוריס מליקוב ואיוון דוידוביץ' לאזרב. הם הוצבו עם כוחותיהם ליד ירוואן והוו את חוד החנית בתחילת המתקפה הרוסית, על האימפריה העות'מאנית, ב-24 באפריל 1877, בקרב על העיר דואובאיזיט, (בטורקית Doğubayazıt, Ağrı) . העיר נכבשה ובסיום המלחמה, לאחר נסיגת הרוסים מהעיר במסגרת חוזה סן סטפנו, הועברה מרבית האוכלוסייה הארמנית הנוצרית, לעיר חדשה שהוקמה בשטח הרוסי ונקראה באיזיט החדשה, היום העיר גאבאר בארמניה.