В первых числах июля, преодолев огромные трудности горного перехода, ударная группа 5-й армии вышла на Уфимское плоскогорье. В этом героическом походе особенно отличились 1-я и 2-я бригады 26-й дивизии, появление которых было совершенно неожиданно для белых. Полки за трое суток проделали путь в 120 километров. Они двигались по дикой, труднопроходимой долине реки Юрюзани и вышли в тыл врагу. Во время похода красноармейцы на себе везли орудия, переносили их на руках через горные пропасти и перевалы.
2 июля передовые части 1-й бригады 26-й дивизии столкнулись у населенного пункта Насибаш с 12-й дивизией белых. Обстановка была невыгодной. Колонна бригады, вытянувшаяся по горной дороге, оказалась под угрозой охвата с обоих флангов. 3 июля бой принял неблагоприятный оборот, и над советскими частями нависла угроза окружения.
В этих трудных условиях части 26-й дивизии проявили исключительную маневренность и отвагу. После перегруппировки четыре полка дивизии атаковали превосходящего по численности противника и вынудили его к отходу. Продолжая наступление, части 1-й бригады встретили и разгромили один из полков 4-й дивизии белых, захватив при этом до 400 пленных. Так в ходе боев была обнаружена вся группировка Войцеховского. 5 июля наступавшая по Бирскому тракту 27-я дивизия, громя противостоявшие ей части Уральского корпуса белых, одновременно атаковала 4-ю дивизию противника и отбросила ее на юг. В итоге боев со 2 по 6 июля обе колчаковские дивизии (4-я и 12-я) потерпели поражение и вместе с разгромленным Уральским корпусом отступили за реку Ай. Из-за угрозы быть отрезанным от остальных частей Западной армии сюда же отступил и корпус Каппеля.
На рубеже реки Ай, на подступах к Златоусту, белогвардейцы вновь попытались организовать оборону.
До 10 июля 5-я армия подтягивала отставшие части и приводила себя в порядок для продолжения наступления. Левая и центральная группы соединились и занимали теперь общий фронт от населенного пункта Гривенка через Айлино на Юрюзанский завод.
10 июля советские войска вновь перешли в наступление.
После упорных боев сопротивление белых было сломлено, и к исходу дня 13 июля части 26-й и 27-й дивизий одновременно с севера и с юга ворвались в Златоуст. Колчаковцы в беспорядке отступили к Челябинску.
Освобождение Златоуста имело важное значение. Для Красной Армии открывались ворота на равнину Западной Сибири. В руки Красной Армии попали большие продовольственные запасы колчаковской армии: 2 миллиона пудов хлеба, 200 тысяч пудов гречневой крупы и много других трофеев. В районе Златоуста войска 5-й армии захватили 3 тысячи пленных, 8 орудий, 32 пулемета, бронепоезд, 30 паровозов, около 600 вагонов. На заводах белые оставили 3 миллиона пудов стали, 2 миллиона пудов угля, 20 тысяч пудов меди.
Одновременно с Златоустовской операцией 5-й армии продолжалось наступление 2-й и 3-й армий в направлении на Екатеринбург. Части 7-й и 28-й дивизий 2-й армии, занявшие Ижевск и Воткинск, в течение 20 и 21 июня при поддержке Волжской флотилии переправились на левый берег Камы и начали продвигаться в северо-восточном направлении, на город Осу. С фронта на Осу наступали левофланговые части 21-й дивизии. Им пришлось двигаться через болота. Мириады комаров и мошкары забивали рот, глаза, уши, причиняя бойцам невероятные страдания. Выбравшись из гнилых болот, части дивизии попали на горящий торф. Огонь обжигал ноги, а густой смрадный дым настолько затруднял дыхание, что многие впадали в обморочное состояние. Героически преодолев все это, полки 21-й дивизии вышли к Каме и с помощью судов Волжской флотилии форсировали реку.
Советская флотилия, подавляя сопротивление белогвардейской флотилии и огонь береговой артиллерии, преодолевая минные заграждения, продвинулась выше по реке и помогла также переправе 30-й и 29-й дивизий 3-й армии, наступавшим от Глазова на Пермь. С помощью вооружённых судов советские войска подавили оборону противника на левом берегу Камы.
Волжская флотилия прорвалась к Перми и поставила суда вражеской флотилии в безвыходное положение. Тогда колчаковцы решили уничтожить свою флотилию, а также остальные пароходы и баржи. Они сожгли на Каме 22 пассажирских, 81 буксирный пароход и 38 барж. 120 других судов белогвардейцы угнали на реку Чусовую, а затем также уничтожили.
Вскоре советская Волжская флотилия получила новое задание и была переброшена в низовье Волги, под Царицын.