Для проведения операции в штабе флотилии был разработан следующий план:
1) 1-й дивизион в составе канонерок «Пронзительный», «Елизавета», двух сторожевых судов и нескольких вспомогательных пароходов направлялся в Мамадыш для поддержки и обеспечения переправы войск в этом районе;
2) 2-й дивизион в составе канонерок «Ваня-коммунист», «Авангард Революции», «Волгарь-доброволец», «Память Володарского», двух сторожевых и одного посыльного судна получил задачу охранять десантный отряд во время перехода, оказать ему поддержку во время высадки и обеспечить его действия от возможного появления флотилии противника;
3) 3-й дивизион в составе канонерок «Товарищ», «Троцкий» и «Товарищ Маркин» и сторожевых судов получил задачу поддерживать и обеспечивать переправу войск в районе устья Вятки;
4) 4-й дивизион в составе канонерок «Терек», «Рошаль» и «Кубань», как вооруженный дальнобойной артиллерией, был поставлен на позицию между деревнями Грохань и Соколка. Выведя наблюдательный пункт на командующую высоту и проведя оттуда телефонную связь на корабли, дивизион должен был сбить батареи белых в районе Свиногорья. В то же время в случае появления флотилии противника 4-й дивизион должен был оказать поддержку 2-му дивизиону, который имел распоряжение в этом случае отступать под его прикрытием;
5) 5-й дивизион в составе четырех канонерок и вспомогательных судов получил задачу поддержать и обеспечить переправу войск ниже села Вятские Поляны;
6) десантный отряд на судах «Бухара», «Обь» и «Коммуна», пользуясь темнотой и под прикрытием 2-го дивизиона, должен был пройти в район деревни Котловка и здесь, высадившись в тыл белым, развить наступление в направлении Сентяк — Козима — Мурзиха — Марты.
24 мая в 3 часа ночи суда десантного отряда под конвоем только 2-го дивизиона, двух сторожевых и одного посыльного судов снялись с устья Вятки и пошли к намеченному пункту высадки. Пользуясь темнотой и разливом реки, весь отряд, стараясь не шуметь плицами колес и прижимаясь к левому берегу, незамеченным прошел Свиные Горы. Обойдя острова, отряд подошел к Котловке, и только здесь после открытия огня сторожевыми судами белые обнаружили противника. Их батареи открыли огонь по отряду с большим перелетом, но вскоре были накрыты огнем кораблей 2-го и 4-го дивизионов и начали быстро сниматься с позиций. Флотилия белых так и не появилась.
Благодаря беспечности белых, десант, не встретив сопротивления, к 5 часам утра подошел к намеченному месту высадки. Пароходы с десантниками на борту подошли к берегу, а 2-й дивизион канонерских лодок, став на позиции у Котловского мыса, начал обстрел белых батарей и сухопутных частей. Вверх по Каме до деревни Святые Ключи вышло в дозор посыльное судно «Крестьянин Товарищ».
В 5 часов утра 24 мая десантные пароходы пристали к берегу и быстро, по сходням, организовали высадку десанта, который сразу же пошел в атаку на противника. Белые начали отход в направлении деревни Мурзиха. Десантный отряд, поддержанный артиллерийским огнем канонерок 2-го дивизиона, вначале сравнительно легко сбиваа части белых с занимаемых ими позиций. Но при подходе к Мурзихе отряд потерял связь с судами флотилии, а белые вывели из резерва офицерский батальон и «Таневский непобедимый отряд». Это сильно затруднило продвижение отряда, причем, как сказано в донесении начальника отряда Кожанова, «каждая позиция бралась отрядом с большими усилиями и потерями военморов».
Благодаря успешной высадке десанта и его действиям в тылу у белых переброска частей 28-й дивизии в район устья Вятки не встретила большого сопротивления. Здесь, поддержанные артиллерийским огнем 3-го и 4-го дивизионов канонерских лодок, были переброшены части 39-го и 40-го полков дивизии, которые к 8 часам утра 24 мая заняли Свиногорье.
Но успешно начатая операция чуть было не сорвалась из-за отсутствия связи высаженных полков с десантным отрядом. Ориентировка командиров полков о проводимой десантным отрядом операции была крайне недостаточна, поскольку части 39-го полка, занявшие Свиногорье, приняли десантный отряд моряков за белых, и атаковали его левый фланг в го время, когда отряд вел жестокий бой с резервными частями противника. Кожанов выслал к начполка своих конных ординарцев, но красноармейцы обстреляли их из винтовок и пулеметов, и ординарцы были вынуждены вернуться обратно. Тогда Кожанов выдвинул против наступавшего 39-го полка свою резервную роту, а суда 2-го дивизиона сделали несколько предупредительных залпов в сторону наступающих красных цепей. И только после того как 2-й дивизион открыл огонь, 39-й полк поднял красный флаг и начал устанавливать связь для совместных действий с десантным отрядом.
Когда связь десанта с частями 39-го полка была налажена, 2-й дивизион поднялся к Сентяку, откуда своим огнем обеспечивал наступление правого фланга десантного отряда. В то же время, благодаря успешному развитию операции в устье Вятки, 4-й дивизион снялся оттуда и к 2 часам дня подошел к Котловке.
До сих пор операция проводилась без участия белой флотилии, и комфлот Смирнов ничего не знал о ее местонахождении. Были неточные сведения двухдневной давности, что корабли белых находятся в районе устья реки Белой, но для проверки этих сведений Смирнов мер не принял, а лишь ограничился дозором сторожевых судов в районе села Простна (Святые Ключи). Не стал Смирнов и беспокоить командующего 2-й армией, чтобы тот произвел разведку реки сухопутной авиацией.