Несмотря на общее впечатление, вряд ли Кнуд собирался создавать империю, которую мы обычно воспринимаем как сознательное творение великой державы с глобальными амбициями. В своем стремлении получить вдобавок к английской короне и титулу данского конунга также власть над Норвегией и Швецией он руководствовался, по-видимому, куда более банальными соображениями. Враждебно настроенный властитель Норвегии и атлантических островов представлял угрозу для английской и датской торговли и для самих этих стран. А когда представившийся случай или необходимость требовали конкретного действия, Кнуд действовал без промедления. В середине 1020-х годов ситуация стала именно такой.
Начали сменяться давние участники политической борьбы. После смерти Торкеля Длинного Кнуд назначил наместником Дании и воспитателем старшего сына Хардекнуда своего зятя Ульва и тем самым добавил себе беспокойства. Кто такой Ульв, мы точно не знаем: его родиной называют то Данию, то Швецию, то Англию, а иногда даже Франкское королевство. Другой факт, однако, не вызывает сомнений: что ни говори, он не был до конца верен своему монарху и родичу. Ульв не пресек первые пробные враждебные вылазки Швеции и Норвегии, а отступил в Ютландию. Там он сыграл весьма спорную роль в битве у реки Хельге. Как исход этого сражения, так и его дата (1025, 1026 или 1027 год) вызывают большие сомнения. Очевидно, Кнуд понял, что за его спиной что-то затевается, и принял меры.
Этому могли способствовать вполне предсказуемые проблемы с религиозной политикой Олава. Кнуд также был христианином, однако политическая целесообразность иногда весьма влияет на принципиальность политиков. Насильственная смена религии и отстранение от власти древних знатных родов не могли не вызвать определенного недовольства среди норвежцев. А данский конунг с какого-то момента стал щедр на дары и обещания оппозиционным норвежцам.
Поэтому когда Олав с 60 кораблями приплыл грабить Зеландию, а большая флотилия Энунда принялась разорять Сконе, Кнуд лично отправился на север. В Лим-фьорде к флоту, приведенному им из Англии, присоединились данские корабли. Весть о прибытии самого конунга придала им мужества, и когда Кнуд во главе объединенного англо-данского морского войска вошел в Каттегат, Олав счел за лучшее отступить. Шведы и норвежцы вместе продолжили грабить Сконе. Не слишком большое достижение для двух властителей, собиравшихся завоевать Данию, но и это занятие им пришлось оставить, когда к Сконе подошел мощный флот Кнуда.
Теперь норвежско-шведские союзники заняли позицию в устье реки Хельге на восточном побережье и дали Кнуду бой. Согласно одним источникам, в этом сражении победил Кнуд, согласно другим – Олав и Энунд, но все утверждают, что решающий вклад в эту победу внес Ульв. В описании битвы присутствует масса совершенно недостоверных деталей, но кое о чем можно догадаться по ее последствиям. Энунд с остатками своего флота отправился домой, расторгнув союз с Олавом, хотя и не разорвав с ним дружбы. Кнуд же вернулся в Данию и свел счеты с ярлом Ульвом. Ярла ввиду удобства акции убили в церкви в Роскилле, и Кнуд, чтобы загладить вину перед местными клириками, пожаловал церкви обширные земли.
Теперь Олав оказался в довольно затруднительном положении. Он опасался измены и торопился домой. Однако, помня о печальной судьбе Олава, сына Трюггви, не решился плыть через пролив Эресунн, где враги могли устроить засаду. В итоге он бросил свои корабли и по суше добрался до Сарпсборга. Последовавшее за этим затишье не принесло Олаву ничего, кроме ощущения углубляющихся проблем. А Кнуд в это время сделал еще один шаг к бескровному завоеванию Норвегии: осуществил паломничество в Рим, а те духовные и земные блага, которые он в результате приобрел, еще больше укрепили его авторитет на севере. «Не видеть добычи лежачему волку, а победы – проспавшему», поэтому люди Кнуда, пока их повелитель странствовал, пытались склонить на его сторону норвежцев – великих и малых. «Не знаю радушных и щедрых, что стали б дары отвергать; ни таких, что, в ответ на подарок врученный, подарка б не приняли», – говорится в «Речах Высокого». Кого-то прельщало богатство, хэрсиры, отпрыски древних родов, хотели, чтобы с ними считались. Кнуд же был предсказуемо щедр и с теми, и с другими.
Кризис наступил в 1028 году. Тогда датский властитель приплыл с могучим флотом в Норвегию, и никто не оказал ему сопротивления. Конунг Олав попытался собрать людей под свое знамя, но безрезультатно. Оставалось бежать. Поэтому Олав ушел через горы на восток и далее отправился в Русь, к своему родичу конунгу Ярицлейву, известному нам как князь Ярослав Мудрый.