Тюренн, отделившийся от Конде, в 1645 году был разбит у Мергентгейма в Швабии армией Мерси. Но на помощь ему пришли армии Конде и Кенигсмарка и оттеснили баварцев. У деревни Аллерсгейм близ Нёрдлингена Мерси потерпел поражение и был убит. Однако французская армия была не менее баварцев истощена своей победой. Вскоре французов покинули гессенцы, а баварцы, подкрепленные австрийским войском, приведенным эрцгерцогом Леопольдом, оттеснили неприятеля за Рейн.
В 1646 году главнокомандующим шведской армией в Германии был назначен генерал Густав Врангель. Под его началом, не считая летучего отряда Кенигсмарка и гарнизонов, находилось 8 тысяч кавалерии и 15 тысяч пехоты. Его попытался атаковать эрцгерцог Леопольд, располагавший 24-тысячной армией, подкрепленной 12 полками баварской кавалерии и 18 полками баварской пехоты. Однако Врангель успел уйти в Гессен на соединение с Тюренном. Там австрийские и баварские войска, отрезанные от своей базы в Майнце, не рискнули вступить в сражение с противником, теперь уже не уступавшим им в силах.
Врангель же пошел вниз по Дунаю и через Лех вторгся в оставленную без прикрытия Баварию. Вслед за ним туда явились австро-баварские войска из Гессена, что только увеличило бедствия местного населения. Его теперь грабили и враги, и свои. Курфюрст Баварии Максимилиан убедил императора Фердинанда начать переговоры о перемирии. Такие переговоры начались в Ульме. Однако вскоре имперские уполномоченные их покинули, и 14 марта 1647 года баварцы заключили сепаратное перемирие. Шведам и французам, противоречия между которыми все обострялись, были предоставлены зимние квартиры в Швабии и Франконии. Они очистили Баварию, а баварские войска сохранили контроль также и над пфальцскими землями.
После выхода из войны Баварии у императора осталось всего лишь 12-тысячное войско. Оно неудачно пыталось деблокировать осажденный шведами Эгер, но город пал еще до прибытия имперского войска. Тем не менее, преследуя армию Врангеля, от которой отделились французы, имперцы нанесли ей значительные потери.
Тем временем в войну вновь вступила Бавария. Максимилиан, вынужденный теперь содержать свою армию на баварской территории, из которой высасывали все соки ее собственные войска, двинулся против шведов в Тюрингию. Соединенная австрийско-баварская армия преследовала войска Врангеля, шедшие на соединение с Тюренном в Люнебург. Однако баварский курфюрст не был заинтересован в полном разгроме шведов, что могло только отдалить заключение мирного договора, и остановил свою армию на реке Везер. Имперскому полководцу Меландеру пришлось ограничиться разграблением Гессена.
В 1648 году французская и шведская армии выступили в свой последний поход. Они разбили имперскую армию у Засмарсхаузена на Дунае, причем в этой битве был смертельно ранен генерал Меландер, сняли осаду с Эгера и вторглись в Баварию, где дошли до реки Инн. Проливные дожди сделали эту реку непреодолимым препятствием и не позволили союзникам войти в Австрию. Десять раз Врангель наводил понтонный мост через Инн, но так и не преуспел в этом предприятии. Явившаяся из Нидерландов армия Октавио Пикколомини заставила союзников покинуть разоренную Баварию, где они уже не могли найти для себя пропитание.
Тюренн и Врангель ушли в Верхний Пфальц, где их застала весть о мире. Кенигсмарк напоследок совершил рейд на Прагу и овладел Новым городом. Однако Старый город — основную часть чешской столицы, имперским войскам с помощью местного ополчения удалось отстоять, хотя под его стенами собрались уже все шведские войска, находившиеся в Чехии и Силезии, а также прибывшая из Швеции армия во главе с пфальцграфом Карлом Густавом. Шведы вынуждены были уйти на зимние квартиры, где их и застала весть о заключении мира.
Вся вторая половина войны, после битвы при Нёрдлингене, характеризовалась тем, что войска больше теряли людей от голода и болезней, чем в бою. Большинство регионов Германии были настолько разорены, что не могли предоставить достаточно припасов для длительного постоя многотысячных армий. Стороны удерживали постоянно только некоторые базовые районы (Швеция — балтийское побережье, имперская армия — наследственные владения Габсбургов, Франция — Эльзас), откуда совершали глубокие рейды на территории Германии, доходя порой до неприятельских базовых районов, но не будучи в состоянии их удержать. Это истощало всех участников войны и постепенно вынудило их заключить компромиссный мир.