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