Наводнение было вызвано небольшим циклоном с одной замкнутой изобарой в 975 гПа. Атмосферный вихрь смещался с северной части Атлантического океана по периферии обширного глубокого циклона, расположенного над Баренцевым морем, через Норвежское море по северу Скандинавии и Финляндии на Белое море и далее по северо-западному высотному потоку на Республику Коми. В тыловой части этого циклона наблюдался значительный рост атмосферного давления (5-7 мб за 3 часа) и сильный ветер западного, северо-западного направления в порывах до 22-26 м/с, на юго-восточном побережье Финского залива до 28 м/с.
По предварительным расчетам гидродинамических моделей за сутки подъем уровня воды в Неве ожидался до 230 см в 15.00-18.00 27 декабря. После анализа ситуации синоптики Санкт-Петербургского Гидрометцентра в 21.00 26 декабря составили штормовое предупреждение о подъеме уровня воды в устье Невы выше 160 см к 11.00-14.00 27 декабря (при условии открытых створов дамбы). С 8.00 27 декабря уровень воды в Неве стал интенсивно повышаться от отметки 30 см и к 11.40 достиг уровня 120 см. К этому времени створы дамбы, по данным МЧС Санкт-Петербурга, уже были полностью закрыты.
Далее под напором западного ветра до 24 м/с, уровень продолжал медленно повышаться. В 19.00 синоптикам стало окончательно ясно, что при такой штормовой синоптической ситуации даже при полностью закрытых створах дамбы к 22.00-1.00 часам 27-28 декабря уровень воды превысит отметку 160 см, о чем и было составлено штормовое предупреждение в 19.46.
Утром 28 декабря с 7.45 минут уровень воды в устье Невы начал медленно понижаться в результате постепенного открытия створов комплекса защитных сооружений.