Po osvobození Brna 26. dubna se jednotky 2. ukrajinského frontu připravily k útoku severovýchodním směrem, na Prostějov, Vyškov a Olomouc, tedy do týla německých sil bojujících u Ostravy. Útok započal 27. dubna, ve dnech 29.–30. dubna byl osvobozen Vyškov, ale nacistické síly se i nadále bránily v jeho těsné blízkosti a město ostřelovaly. Rudá armáda obsadila také východněji ležící Ivanovice, ale při postupu na sever k Prostějovu narazila na silnou a dobře připravenou německou obranu disponující značným množstvím obrněné techniky.
V prostoru obcí Čelčice, Klenovice, Pivín, Čehovice a Skalka se tak rozhořely těžké boje, při kterých Němci prováděli urputné protiútoky. Zuřivá německá obrana dokázala držet ústupovou cestu pro jednotky bojující na severní Moravě a ve Slezsku. Boje skončily až 8. května večer, kdy se německá obrana rozpadla a německé síly zahájily útěk na západ, do amerického zajetí. Haná tak byla definitivně osvobozena až 9. května. Těchto bojů se na sovětské straně účastnily také rumunské jednotky, a 8. května na bojiště před Prostějovem dorazily též síly 1. čs. armádního sboru. V posledních dnech války tak severovýchodně od Brna padly tisíce vojáků, jen v okrese Vyškov činily spojenecké ztráty 985 Sovětů a 55 Rumunů, nepočítaje v to stovky místních obyvatel.