Противник, используя некоторое замедление темпа наступления советских войск, особенно на фронте 3-й армии, вызванное разрушениями дорог и мостов, тоже осуществил реорганизацию своих войск. Из Сибирской и Западной армий Колчак образовал три армии: 1-ю армию — на тюменском направлении, 2-ю — на курганском и 3-ю — на челябинском.
Пытаясь поднять свой престиж в глазах интервентов, колчаковское командование готовилось осуществить контрнаступление. В середине июля в белогвардейские войска были влиты пополнения. Новые части спешно отправлялись на фронт. Колчак объявил мобилизацию интеллигенции прифронтовых районов, рассчитывая, что этот контингент будет более надежным.
Собрав все наличные силы, белогвардейцы приступили к осуществлению своего замысла. Они рассчитывали завлечь 5-ю армию в районе Челябинска в мешок и одновременными ударами по флангам уничтожить ее. Белогвардейскому командованию удалось создать превосходство в силах на направлении главного удара, который предполагалось нанести севернее Челябинска, Колчаковцам казалось, что успех обеспечен.
А в это время в Челябинске местная буржуазия, уже потеряв веру в стойкость белых войск, поспешно собирала чемоданы и бежала из города; местные власти эшелонами отправляли имущество и заводское оборудование.
23 июля полки 5-й армии вышли на ближние подступы к Челябинску. Они двигались, охватывая город широким полукольцом со стороны станции Полетаево, села Шершни и станции Аргаяш.
Рабочие Челябинска под руководством коммунистов тайно сформировали боевые отряды для помощи Красной Армии. В ночь на 24 июля, пользуясь темнотой, часть этих отрядов вышла из города, чтобы пробраться через линию фронта и соединиться с советскими войсками. Подпольная Челябинская коммунистическая организация, установившая связь с Красной Армией, подготовила к выступлению оставшиеся в городе отряды вооруженных рабочих. Когда красноармейцы начали штурм, рабочие ударили в тыл белым войскам.
Отряд рабочих-железнодорожников, перерезав железнодорожную линию, прекратил отправление поездов. Стрелочники пустили под откос два колчаковских бронепоезда, и они попали в руки красноармейцев. Части 27-й дивизии, стремительно ворвавшись на станцию Челябинск, захватили большое количество вагонов и паровозов. Утром 24 июли 242-й Волжский полк и часть 243-го Петроградского полка 27-й дивизии под командованием одного из храбрейших командиров С. С. Вострецова вступили в Челябинск. В этот же день был сформирован Челябинский ревком, который приступил к приему рабочих-добровольцев в Красную Армию. За короткий срок записалось 8500 человек.
В то время как советские полки вступали в Челябинск, белогвардейское командование заканчивало последние приготовления к нанесению контрудара по 5-й армии. Белым удалось занять выгодное охватывающее положение по отношению к советским войскам, находившимся в районе Челябинска. Северо-западнее, в районе озер Урефта — Агач-Куль (25–40 километров от Челябинска), была сосредоточена северная ударная группа войск противника под командованием Войцеховского, общей численностью около 16 тысяч штыков и сабель. К югу от Челябинска в районе озер Смолино — Камышное и населенного пункта Тимофеевского (15 — 30 километров от Челябинска) сосредоточилась южная ударная группа под командованием Каппеля, численностью около 10 тысяч штыков и сабель.
На рассвете 25 июля северная группа белых начала наступление, направляя главный удар в стык между 27-й и 35-й дивизиями. Одновременно южная группа противника должна была наступать на станцию Полетаево и перерезать единственную железнодорожную коммуникацию, связывавшую 5-ю армию с ее тылами. Группа Войцеховского имела почти двойное превосходство в штыках, орудиях и пулеметах и четырехкратное в коннице над советскими войсками, сражавшимися северо-западнее Челябинска.