В 1620 году Иоганн поступил на службу в баварскую кавалерию, в составе которой провоевал почти всю Тридцатилетнюю войну. Начинал в драгунском полку, затем долгое время служил корнетом в полку кирасиров Дитриха Лотара фон Беннингхаузена. Первым его сражением стала битва на Белой Горе 8 ноября 1620 года. Воевал под командованием маршала Тилли в Пфальце, Вестфалии, Баварии и Саксонии. После смерти маршала в 1632 году Шпорк уже в звании ротмистра в составе армии Валленштейна дрался под Фюртом. Bпоследствии Иоганн стал офицером в полку Иоганна фон Верта. В 1638 году участвовал в разгроме превосходящих сил шведского генерала Кёнигсмарка, получив ранение в лицо. В 1639 году назначен командиром полка. В 1640—1642 годах трижды одерживал победы над отрядами саксен-веймарской армии. 6 марта 1645 года участвовал в битве под Янковом, в которой победили шведы. Сам Шпорк был ранен, но во главе своих баварских всадников сумел вырваться и добраться до Йиглавы, где шведы его настигли и взяли в плен. Несмотря на неудачу император Фердинанд III высоко оценил отвагу полковника и не только выкупил его из плена, но и произвёл в генерал-майоры. Впоследствии Шпорк воевал против шведов и французов в Гессене и Баварии. 14 марта 1647 года баварский курфюрст Максимилиан I заключил с Францией и Швецией Ульмское перемирие. Шпорк и его бывший командир Верт, посчитав поступок курфюрста изменой императору, перешли на службу Габсбургам.