Тем временем прусские войска в Силезии терпели поражение. Король бросился им на помощь с 21 тысячью пехоты, 11 тысячами кавалерии и 167 орудиями. Австрийцы расположились у деревни Лейтен на берегу реки Вейстрицы. Они располагали 59 тысячами пехоты, 15 тысячами кавалерии и 300 орудиями. Утром 5 декабря 1757 года прусская кавалерия отбросила австрийский авангард, лишив неприятеля возможности наблюдать за армией Фридриха. Поэтому атака главных сил пруссаков оказалась для австрийского главнокомандующего герцога Карла Лотарингского полной неожиданностью.
Главный удар Фридрих, как всегда, наносил на своем правом фланге, но действиями авангарда привлек внимание неприятеля к противоположному крылу. Когда Карл понял истинные намерения и стал перестраивать свою армию, боевой порядок австрийцев оказался нарушен. Этим воспользовались пруссаки для флангового удара. Прусская кавалерия разбила австрийскую кавалерию правого фланга и обратила ее в бегство. Затем Зейдлиц атаковал и австрийскую пехоту, ранее оттесненную за Лейтен прусской пехотой. Лишь темнота спасла остатки австрийской армии от полного уничтожения. Австрийцы потеряли 6,5 тысячи человек убитыми и ранеными и 21,5 тысячи пленных, а также всю артиллерию и обоз. Потери пруссаков не превышали 6 тысяч человек. Силезия вновь оказалась под прусским контролем.
В это время активные боевые действия начали русские войска. Еще летом 1757 года 65-тысячная русская армия генерал-фельдмаршала С. Ф. Апраксина двинулась в Литву, собираясь овладеть Восточной Пруссией. 19 августа 22-тысячный отряд прусского генерала Левальда атаковал русские войска у деревни Гросс-Егерсдорф, не имея представления ни об истинной численности противника, почти втрое превосходившего его, ни о его расположении. Вместо левого фланга Левальд оказался перед центром русской позиции. Перегруппировка прусских сил в ходе боя только усугубила ситуацию. Правый фланг Левальда оказался опрокинут, что не могло быть компенсировано успехом левофланговых прусских войск, захвативших неприятельскую батарею, но не имевших возможности развить успех. Потери пруссаков составили 5 тысяч убитыми и ранеными и 29 орудий, потери русских достигали 5,5 тысячи человек. Русские войска не преследовали отступившего противника, и решительного значения бой у Гросс-Егерсдорфа не имел.
Неожиданно Апраксин приказал отступить, мотивируя это недостатком снабжения и отрывом армии от своих баз. Фельдмаршала обвинили в измене и предали суду. Единственным успехом стал захват Мемеля 9-тысячным русским десантом. Этот порт был превращен на время войны в главную базу российского флота.
В 1758 году новый главнокомандующий генерал-аншеф граф В. В. Фермор с 70-тысячной армией при 245 орудиях без труда занял Восточную Пруссию, овладел Кенигсбергом и продолжил наступление на запад. В августе произошло генеральное сражение русских и прусских войск у селения Цорндорф. 14-го числа Фридрих, располагавший 32 тысячами солдат и 116 орудиями, атаковал здесь армию Фермора, в которой было 42 тысячи человек и 240 орудий. Пруссакам удалось потеснить русские войска, отступившие к Калишу. Фермор потерял 7 тысяч убитыми, 10 тысяч ранеными, 2 тысячи пленных и 60 орудий. Потери Фридриха достигали 4 тысяч убитыми, более 6 тысяч ранеными, 1,5 тысячи пленными. Прусский король отдал должное стойкости русских полков у Цорндорфа, заявив после сражения: «Русских можно перебить всех до одного, но нельзя заставить отступить». Он не стал преследовать разбитую армию Фермора, а направился в Саксонию.
В 1759 году Фермора сменил П. С. Салтыков. Союзники выставили против Пруссии 440 тысяч человек, у Фридриха было лишь 220 тысяч. 26 июня русская армия выступила из Познани к реке Одер. 23 июля во Франкфурте-на-Одере она соединилась с австрийскими войсками. 31 июля Фридрих с 48-тысячной армией занял позицию у селения Кунерсдорф.
Армия Салтыкова насчитывала 41 тысячу человек, а австрийская армия генерала Дауна – 18,5 тысячи человек. 1 августа Фридрих атаковал левый фланг союзных войск. Пруссакам удалось захватить здесь важную высоту и поставить там батарею, которая обрушила огонь на центр русского войска. Прусские войска потеснили центр и правый фланг русских. Однако Салтыкову удалось создать новый фронт и перейти в общее контрнаступление. После 7-часового боя прусская армия в беспорядке отступила за Одер. Сразу после боя у Фридриха под рукой было всего 3 тысячи солдат, так как прочие рассеялись по окрестным деревням, и их пришлось собирать под знамена в течение нескольких дней.
Пруссаки потеряли убитыми и ранеными 18 тысяч человек, русские – 13 тысяч, а австрийцы – 2 тысячи. Из-за больших потерь и усталости солдат союзники не смогли организовать преследования, что спасло Фридриха от окончательного разгрома. После Кунерсдорфа русская армия по просьбе австрийского императора была переброшена в Силезию, где прусским войскам также был нанесен ряд поражений.