I juni 1828 krydsede en russisk styrke under kommando af zar Nikolaj 1.Donau og rykkede ind i Dobrudsja, der var kontrolleret af Det osmanniske rige. Inden denne offensiv var en russisk styrke rykket ind i Valakiet, og havde okkuperet Brăila og București uden at møde modstand. Russerne koncentrerede sig derefter om de strategisk vigtigste steder i Bulgarien: Sjumen, Varna og Silistra. Varna blev indtaget den 29. september ved hjælp af den russiske Sortehavsflåde og en belejring. Sjumen viste sig vanskeligere at indtage. Den osmanniske styrke på 40.000 mand der stod imod russernes angreb og formåede at afskære de russiske forsyningslinjer. Sult og sygdomme tog livet af flere russiske soldater end kamphandlingerne. Da vinteren nærmede sig, trak de russiske styrker sig tilbage til Bessarabien.
Året efter gik russerne på ny i offensiv med udgangspunkt i Bessarabien. Efter hårde kampe formåede russerne den 19. juni 1829 at nå de mål, de ikke havde nået året i forvejen. Denne offensiv kom samtidig med en offensiv i det nordøstlige Anatolien, hvor russerne indtog Akhaltsikhe, Jerevan, Kars og Erzurum.
I juli startede de russiske styrker en ny offensiv på Balkan, og den 12. juli faldt Burgas i russiske hænder. De russiske styrker undgik den osmanniske styrke i Sliven og gik i stedet direkte mod Konstantinopel. Den 28. august udbrød der panik i byen, da de russiske styrker blot befandt sig 68km borte.
Fredsaftale
I denne situation så den osmanniske sultan ikke andre muligheder end at indlede fredsforhandlinger, og en fredsaftale blev indgået i Adrianopel den 14. september. Fredsaftalen gav russerne det meste af den østlige Sortehavskyst frem til mundingen af Donau. Videre blev den russiske overhøjhed over Georgien og dele af Armenien anerkendt. Desuden fik Serbien selvstyre, og russerne opretholdt okkupationen af Moldavien og Valakiet i afventning af udbetaling af en betydelig krigserstatning fra Det osmanniske rige.