Русские атаковали армию Вессель-паши силами около 45 тысяч человек при 83 орудиях. Атака производилась тремя колоннами под командованием генерал-лейтенантов Ф.Ф. Радецкого, Н.И. Святополка-Мирского и М.Д. Скобелева (в состав его войск входило и семь болгарских добровольческих дружин).
Именно колонне Скобелева выпала честь штурмовать основные укрепления вражеского лагеря. Особенно отличились Углицкий и Владимирский пехотные полки и стрелковая бригада. Сражение для скобелевцев началось в 11 часов утра под сильным артиллерийским и ружейным огнем турок. Около трех часов дня Вессель-паша, в ответ на предложение о капитуляции, справившись о чине Скобелева, приказал выкинуть белый флаг. Узнав об этом, сложили оружие и те неприятельские войска, которые располагались в горах выше Шейново. Теперь путь через Балканы в Южную Болгарию был открыт.
Действия Скобелева при штурме укрепленного Шейновского лагеря заслужили самую высокую оценку современников. Его руководство войсками было безошибочным, тактические приемы — новаторскими. В ходе штурма в горных условиях ему удалось избежать продольного обстрела наступавших, что так дорого обошлось русской армии во время трех неудачных штурмов Плевны.
Стратегическое значение Шипко-Шейновской победы было очень большим. В турецкой обороне в Балканских горах образовалась широкая брешь, через которую открывался прямой и удобный путь к столице Османской империи, которая к тому же лишилась в Шейново одной из лучших своих армий. Теперь две оставшиеся у нее армии Сулеймана-паши и Восточно-Дунайская (блокированная русским Рущукским отрядом) были надежно изолированы друг от друга.
С учетом этой обстановки русское командование приняло решение немедленно наступать на город Адрианополь, находившийся на ближних подступах к Стамбулу. Наступление вновь велось отдельными отрядами. Скобелеву был вверен авангард центрального отряда с правом вести самостоятельные боевые действия. Наступление началось 3 января 1788 года. За один день пехотинцы и конница Скобелева прошли, спускаясь с гор, 80 верст (более 85 километров).
Наступающие захватили Адрианополь внезапным ударом, его крепостной гарнизон его капитулировал. Скобелевский отряд вступил в город под звуки военного оркестра. Среди прочих трофеев в адрианопольском арсенале оказались 22 новых крупнокалиберных орудия с германских заводов Круппа, которые турки так и не успели применить в войне.
В феврале войска Скобелева заняли Сан-Стефано, стоявший на ближних подступах к Стамбулу, всего в 12 километрах от него, и вышли на прямую к турецкой столице дорогу. Стамбул защищать было некому: лучшие султанские армии капитулировали, одна была блокирована в Придунавье, а армия Сулейман-паши незадолго перед этим была разгромлена южнее Балканских гор.
Скобелев временно назначается командующим 4-м армейским корпусом, расквартированным в окрестностях Адрианополя. 3 марта 1788 года в Сан-Стефано был подписан мирный договор, согласно которому Болгария становилась самостоятельным княжеством. Турция признавала суверенитет Сербии, Черногории и Румынии. К Российской империи присоединялась Южная Бессарабия, а на Кавказе — Батум, Карс, Ардаган и Баязет. Побежденная Оттоманская Порта обязывалась уплатить 310 миллионов рублей контрибуции.
После подписания мира султан пожелал лично познакомиться с русским "Белым генералом" — Ак-пашой и пригласил Скобелева в Стамбул. На турок очень сильное впечатление произвело то, что прославленный генерал знал Коран и мог цитировать его по-арабски.
Скобелев был одним из тех военачальников императора Александра II, которые настаивали на вводе русских войск в Стамбул.
Русская армия по условиям Сан-Стефанского мирного договора на два года осталась на болгарской земле. В январе 1879 года Скобелев был назначен ее главнокомандующим. В награду за победу в войне он получил придворный чин генерал-адъютанта.
Скобелев много сделал для создания в Болгарии национальной армии. В этом деле ему помогали 344 русских офицера-инструктора и 2700 нижних армейских чинов. Теперь Болгарское княжество в случае вторжения турецких войск в Восточную Румелию могло само защищаться.
Из Болгарии Михаил Дмитриевич возвратился на родину в ореоле славы как общепризнанный национальный герой. Его назначили командующим армейским корпусом со штабом в городе Минске, а его фамилия была навечно занесена в списки 44-го пехотного Казанского полка. В 1879 году Скобелев представлял Россию на германских военных маневрах. По возвращении в Санкт-Петербург он написал для Главного штаба подробнейший отчет о состоянии германской армии, в которой безошибочно усматривал будущего противника России.