Производство пехотных гранат, начатое в 1667 году, долго находилось в ведении приказа Тайных дел. После того как разные их виды, разработанные русскими оружейниками (круглые и цилиндрические, металлические и стеклянные), прошли массовое боевое испытание в корпусе К. Черкасского (1677—1679 гг.), гранатное производство было поставлено на поток. Армия Голицына получила десятки тысяч гранат для метания с руки и с помощью ручных гранатомётов, которые маленький Пётр, знавший толк в оружии, уже тогда старался добыть для своих преображенцев.
Регулярные полки Голицына были вооружены дальнобойными мушкетами с ударным кремнёвым замком конструкции, ставшей вскоре классической; фитильные, колесцовые и прочие замки были отвергнуты как менее надёжные и неэффективные. Многолетние разработки Оружейной палаты воплотились также в новой модели нарезной питали («пищали винтованной», или попросту «винтовки», как называют её документы того времени). Партии таких винтовок поступили на вооружение снайперских подразделений отборных стрелецких и солдатских полков.
Значительно усилив огневую мощь пехоты, Голицын всё же не был уверен, что этого будет достаточно для отражения сильной крымской кавалерии. Его солдаты наряду с мушкетом и саблей брали с собой полупики; единственно, что князь мог здесь придумать, — это экстренно перевооружить часть солдат бердышами по стрелецкому образцу. Бердыш превосходил полупику тем, что мог служить сошником для мушкета, им можно было и колоть, и рубить конного. Не упустил князь и традиционных средств обороны на месте в виде рогаток и «походных надолбов». Однако холодное оружие вкупе с касками и кирасами оказалось излишним.
Весной 1689 года, когда русская армия двинулась от Самары на Перекоп, оборона крымчаков рухнула. Ни степь, ни ожесточённые атаки татар не могли замедлить шаг полковых колонн, между которыми двигались обозы с припасом. Хотя вся «орда вешталася около войска, — писал поражённый современник-украинец, — але же войско Галично... шло як вода, не заставляючися тылко отстрелювалося». О силе натиска ордынцев свидетельствует тот факт, что они дважды прорывали строй испытанных казацких полков и Мазепа со своей гвардией с величайшим трудом восстанавливал положение. В то же время плотный огонь стрельцов и солдат не позволил приблизиться к их строю ни одному неприятелю.
Кульминацией похода стала битва в урочище Зелёная Долина. 15 мая все крымские войска, включая силы Белгородской орды и черкесов, при поддержке турецкого корпуса обрушились на российское воинство с невероятным мужеством. Залпы 112 тысяч мушкетов и карабинов и 350 орудий, по словам современников, буквально сметали орду с поля, но новые волны татар в течение восьми часов повторяли атаки, так и не доходившие до русских позиций. Убедившись, что его полки не имеют потерь, Голицын приказал продолжать движение. 16 мая хан бросился в новый отчаянный натиск. Спасшиеся от обстрела татары бежали с поля, но сумели вновь собраться с силами и 17 мая при Колончаке опять атаковали, понеся «многий упадок». Сжигая свои селения, остатки крымчаков ушли за Перекоп. 20 мая армия Голицына стала лагерем под Перекопом.
Русское войско рвалось в Крым. Обессилевший хан просил милости и даже обещал покориться «под державу великих государей». Князь Василий понимал лукавство хана, видел стремление армии, но не считал возможным рисковать своими полками. Вторжение в Крым требовало организации постоянного снабжения войск, которые должны будут не только овладеть Бахчисараем и прибрежными крепостями, но и удержать взятое в неизбежном столкновении с армией Оттоманской Порты. Дальнейший поход русской армии при многократном увеличении риска мало что мог прибавить к «вразумлению» хана, убедившегося в главном: Дикое поле перестало служить ему надёжным щитом.
Несколько новых поражений не могли бы оказать решительного воздействия на ханство, привыкшее стоически переносить потери и восстанавливать неоднократно сжигаемый Перекоп (легендарный Косагов с отрядом в 60 казаков однажды сумел спалить его на глазах хана). Значительно страшнее были планомерное давление, блокада Крыма, отсечение татар от источников наживы. Голицын ещё не укрепил низовья Днепра и не взял Азова (впрочем, с падением Крыма его и не нужно было бы брать), но лишил хана возможности ответить ударом на удар и заставил его безвыходно сидеть за Перекопом, ежечасно ожидая русского вторжения. При этом Россия выполняла своё обязательство перед союзниками, не перенапрягала сил и имела возможность широкого дипломатического манёвра.