Так, фактически уже в конце ноября шведская армия в Ромнах и Гадяче со всех сторон была обложена русскими войсками, действующими при активной поддержке местного населения. А в середине декабря русская армия провела разработанную Петром I операцию, направленную уже против главной шведской квартиры. По распоряжению Петра Меншиков двинул 16 декабря к Гадячу драгун генерала Ренне. Драгуны ворвались в предместье города, выбив оттуда шведов. На помощь шведскому гарнизону в Гадяче выступил из Ромен, невзирая на жестокий тридцатиградусный мороз, сам король. Воспользовавшись уходом главных сил шведов, к Ромнам подступили драгуны бригадира Фастмана и дивизия генерала Алларта. Узнав о подходе русских, оставшиеся шведы бежали из города. В первый рядах беглецов находился, по донесению Ушакова, гетман Мазепа, который, услышав о подходе русских, «уехал декабря 17 дня за два часа». На следующий день после бегства Мазепы русские войска вступили в Ромны, где не встретили почти никакого сопротивления и взяли в плен десятки солдат, четырех офицеров и даже королевского пивовара с женою. Спешно отступая из Ромен, шведы бросили 12 медных и 5 чугунных пушек.
Главное же, была достигнута основная цель: шведы потеряли самый значительный город в округе и лишились еще одной промежуточной базы. Гадяч никак не мог заменить Ромны. Во-первых, он был значительно меньше, а, во-вторых, драгуны Ренне, которые отступили, узнав о подходе шведской кавалерии во главе с самим королем, уходя из Гадяча, сожгли городское предместье и уничтожили все запасы фуража, находившиеся в нем. В итоге, когда вся шведская армия сосредоточилась в Гадяче, выявилась как острая нехватка жилья для людей, так и фуража для коней.
Нехватка квартир имела очень тяжелые последствия для шведской армии из-за стоявших жестоких морозов. Зима 1708/09 года была очень холодной в Европе. Достаточно сказать, что застыла река Рона в Юго-Восточной Франции и покрывались льдом каналы в Венеции, а на Балтике замерзли проливы Скагеррак и Каттегат. Небывалая тридцатиградусная стужа с 30 ноября стояла и на Украине. Неудивительно, что сотни шведов замерзли на переходе к Гадячу и новые сотни погибли, когда не нашли жилье в полусожженном городе. Всего холода в эту зиму погубили три тысячи шведов.
Ушаков тотчас из Ромны поспешил сообщить Петру, что «неприятель из Липовой долины пошел к Гадячу… И как из Липовой пошел, и сказывают, которые приходят мужики, у неприятеля многие с холоду помирают». Так что в русском штабе знали о крупных потерях шведов от холодов, хотя, конечно, и русские несли потери.
И все-таки положение русской армии, разбросанной на широком пространстве, где имелось достаточное жилье и большие запасы провианта, было предпочтительнее, чем у шведов, загнанных фактически в Гадяч и его окрестности. Неудивительно, что в поисках выхода шведский король предпринимает попытки расширить свои винтер-квартиры. Не о Москве думал в это время Карл XII, а о том, где бы обогреть и досыта накормить своих солдат. Поэтому он идет на прямой штурм Веприка.
30 декабря 1708 года Карл XII двинулся к Зенькову и занял это неукрепленное местечко, хотя даже здесь жители пытались организовать ему сопротивление. Из Зенькова король вначале января подступил к Веприку, где были и укрепления, и гарнизон в 1300 солдат, 100 драгун и 400 казаков. Комендант крепости шотландец Фермер приказал укрепить скаты крепостного вала, облив их водой, которая сразу замерзла на трескучем морозе. Об этот ледяной вал и разбились все три атакующие колонны шведов, когда 6 января двинулись на штурм крепости (Фермор наотрез отклонил предложение короля сдать крепость без боя). Большие потери под Веприком усугублялись тем, что здесь потерпел урон цвет шведского офицерства. Под Веприком был «ранен генерал-майор Штакельбург, контужен в грудь фельдмаршал Реншильд, убит полковник Фриччи, подполковник Мерне, братья графы Шифлингинк, контужен «маленький принц», 18-летний полковник Мак Эммануил Вюртембергский». Всего под этой небольшой крепостью шведы потеряли две тысячи убитых и раненых. Столь высокие потери вызвали смущение в шведских войсках.
Никогда еще недовольство в шведских войсках действиями короля не высказывалось столь громко, как после неудачного штурма Веприка. При таких настроениях армии о походе на Москву не могло быть и речи — ведь надобно было в лоб штурмовать построенные в глубину позиции русской армии. Впрочем, Карл XII и не думал о таком походе. Цель у него была менее значительная — обеспечить зимнюю стоянку своих войск.
Король решает совершить обход русских позиций, перейти Ворсклу и выйти на так называемый Муравский шлях, который тянулся вдоль левого берега этой реки на Ахтырку-Харьков и далее на Белгород-Курск-Орел и Москву. Это был тот самый шлях, по которому часто ходила на Москву из Крыма татарская конница. Нет сомнений, что перейти на Муравский шлях короля склонил прежде всего совет Мазепы, который более всего опасался ухода шведов за Днепр. Недаром старый гетман выехал из Гадяча и примкнул к королю, когда тот 28 января вышел в поход из Зенькова на Опошню. У этого селения шведская кавалерия нанесла поражение драгунам генерала Шаумбурга, отбросив их за Ворсклу.