Войска «Священной лиги» энергично теснили турок. В Стамбуле произошел переворот, падишахом сделался Сулейман II (1687–1691)
. Он пытался организовать контрнаступление в Венгрии и вызвал татар, но Селим-Гирей I отказал ему, мотивировав опасностью со стороны русских, поляков, казаков и калмыков. Хан не лгал. Над Крымским ханством сгустились тучи.Фаворит Софьи Василий Голицын прибыл в Малороссию с крупной армией и начал поход на Крым. Вместе с ним выступил гетман Левобережья Иван Самойлович.
Поход закончился бесславно. Большая часть русской армии состояла из полков «нового строя», вооруженных по европейскому образцу. Миф о том, что такие полки созданы Петром I, следует развеять. Но подобная армия не была приспособлена к степной войне. Следовало наладить ее снабжение либо вообще отказаться от ее услуг и воевать на татарский манер, как делали воеводы и казаки во времена Ивана Грозного. Крымцы подожгли степь, и Голицын отступил. Виновником поражения воевода объявил гетмана Самойловича, который якобы плохо организовал снабжение русской армии. Самойловича сместили с должности и сослали в Сибирь. Новым гетманом сделался Иван Мазепа.
В начале 1689 года Селим-Гирей гостил в Стамбуле. Его встретили с небывалым почетом и щедростью, ибо Османская империя переживала нелегкие времена, и ей требовался верный слуга на северном побережье Черного моря. А Селим был героем: он отбился от русских.
В Стамбуле хан принял участие в интриге против главнокомандующего на Балканах Османа-паши, который выдвинулся из анатолийских разбойников, но не смог руководить армией и сдал австрийцам Белград в 1688 году. Интрига удалась, Османа и его приближенных казнили. Еще до этого Селим-Гирей I сумел договориться с калмыками, склоняя их к миру и союзу. К тому времени значительная часть калмыков вернулась с берегов Волги в Центральную Азию и получила известность под именем джунгар. Джунгары терроризировали Сибирь и Казахстан, пока не были истреблены маньчжурами в 1759 году.
Наслаждаться покоем хану Селиму довелось недолго: он узнал, что русские снова выступили в Крым. Селим собрал под Килией несколько тысяч всадников и бросился спасать державу.
Войска Василия Голицына дошли до Перекопа, где их встретил Селим-Гирей I с наскоро собранной армией. Татары отлично укрепились и вступили в битву. Голицын безуспешно пытался взять полевые укрепления врага. Сражались сперва в окопах, затем в поле, и все атаки русских были отбиты. В Стамбул Селим-Гирей докладывал, что русских гяуров пришло 300 000. В русских источниках принята другая цифра – 150 000 солдат, но возможно, считали и нестроевых. Войско самого хана насчитывало, вероятно, обычные 40 000 человек.
Вскоре к Селиму пришли еще 50 000 (?) ратников: кумыки и черкесы. Их привел азовский комендант Шахбыз-Гирей. Это разом изменило положение русских к худшему. Теперь они имели дело с крупной армией, которая окопалась на узком перешейке. Голицын предложил мир, по которому крымцы обязались возвратить всех русских пленных, захваченных во время набегов, и не требовать дани или подарков. Татары затягивали переговоры, понимая, что время работает на них. Им поставляли припасы с Крымского полуострова, а русские страдали от бескормицы. Выяснилось, что продовольствия не хватает, и осаждать Перекоп невозможно. Началось отступление русской армии. Селим, взобравшись на холм, видел, как бесчисленные колонны неприятеля удаляются и отходят на север.
В Москве было запрещено говорить о неудаче. Сообщали, что Голицын разбил татар. Впрочем, слухи тогда распространялись быстро, и кремлевское правительство никого не смогло обмануть. Вскоре семнадцатилетний царь Петр I и родня его матери произвели государственный переворот. Царевна Софья и ее фаворит Василий Голицын были свергнуты. Военные действия против татар приостановились на несколько лет.
Пользуясь затишьем, Селим-Гирей выступил со своей конной армией на Балканы, чтобы отразить австрийцев. Те продвинулись далеко в Македонию и стояли возле города Ускюб (Скопье). Селим напал на врага. В разыгравшемся сражении татары понесли огромные потери, но одержали победу и отбросили австрийцев на север. Они даже взяли в плен одного из предводителей гайдуков – местных ополченцев, которые поддерживали христианские войска и восставали против турок. Гайдука звали Карпуз. Без лишних церемоний Селим посадил его на кол как изменника падишаху и доложил в Стамбул об успехе.
Османские войска перешли в контрнаступление и в 1690 году взяли Белград, зато австрийцы вторглись в Трансильванию. Селим получил приказ падишаха перебросить свою конницу в трансильванские земли. Поход возглавил ханский сын. В Трансильвании татары сильно пострадали от стужи, наступление провалилось.