Молодой журналист Ярослав Гашек (Йозеф Абрхам) доставляет много хлопот пражской полиции. Его высказывания можно расценить как политически неблагонадёжные, он откровенно издевается над тайными агентами, а после объявления войны, в насмешку, зарегистрировался в одном из отелей под именем приехавшего из Москвы Ивана Иванова.
Мобилизованный в действующую армию, он попадает на восточный фронт и прилагает все усилия, чтобы сдаться русским солдатам. После одной из удачных попыток Гашек оказался в лагере для военнопленных, где подружился с солдатом Йозефом Страшлипкой (Рудольф Грушинский) — симпатичным увальнем из своего отделения.
Лагерное начальство принимает решение, очистить свои ряды от большевизированных элементов и ночью друзья бегут из-под охраны. У красных, Гашека, как писателя, следовательно образованного человека, назначают комендантом небольшого городка, взамен заболевшего тифом предшественника.
Его помощницей становится Шура (Инна Гулая), девушка, совмещающая в себе застенчивость и страстность борьбы за идеалы революции. В свободное время Гашек пишет книгу о похождениях бравого солдата на фронтах мировой войны, главным героем которой становиться Йозеф Страшлипка, который после прочтения первых глав, убедил автора заменить его имя другим. Так рождается Швейк...