В следующем году Свен снова прибыл в Британию с большой армией. Торкелль, несмотря на обещание Этельреду, немедленно присоединился к нему. Олаф сохранил верность английскому монарху. Свен атаковал север острова и Мидлендс, где преимущественно датское население покорилось ему. Затем он двинулся на юг, и очень скоро только Лондон остался непокоренным. Олав бежал в Нормандию, куда за ним последовал Этельред, когда Лондон в 1014 году сдался датскому королю. Наконец, Свен покорил Англию.
Однако в момент своего величайшего триумфа Свен умер. Надежды англосаксов возродились снова. Этельред вернулся в Англию, но теперь ему помогал опытный командир – его сын Эдмунд Железнобокий, ставший символом английского сопротивления. Только даны не сдавались. В 1015 году Кнуд прибыл в Британию, имея при себе 200 кораблей, изрядная часть которых была предоставлена Хаконом, норвежским ярлом Ладе. Кнуд высадился в Юго-Западной Англии, и Эдрик, саксонский олдермен из Западной Мерсии, перешел к нему с 40 кораблями. Нортумбрия покорилась. Смерть Этельреда избавила Эдмунда от препятствий, которые вольно или невольно чинил ему его недостойный отец, и борьба продолжилась. В 1017 году Эдмунд умер, и Кнуд был повсеместно признан королем. После тридцати восьми лет нападений Англия была в руках датского завоевателя.
Кнуд оказался способным и конструктивным правителем Британии. Он женился на Эмме Норманнской, вдове Этельреда и, в 1018 году собрав большой налог, впоследствии использовал эти средства, чтобы откупиться от воинов-викингов и освободить от них свое новое королевство. Они отплыли восвояси и больше Англию не беспокоили. Возможно, те, кто не смог отказаться от пиратства, присоединились к ирландским норвежским викингам, покинувшим Ирландию после битвы при Клонтарфе в 1016 году, и отплыли в Аквитанию. В 1018 году банды викингов разоряли французское побережье, и изгнать их удалось с большим трудом.
Пока Кнуд был занят в Англии, появился новый враг его морской империи. Это был Олаф Харальдссон, известный в истории как святой Олав. Как мы уже говорили, Олав бежал из Англии в Нормандию в 1013 году, когда дело Этельреда казалось безнадежным. Там он, очевидно, принял христианство и мог принимать участие в нападении викингов на Испанию в 1015–1016 годах. Будучи успешным морским королем, он отплыл к берегам Норвегии. Там он обнаружил, что большая часть сил ярлов Ладе была с Кнутом в Англии, и ему почти не оказали сопротивления. Он легко покорил Норвегию, и ярл Эрик бежал в Англию, где Кнуд компенсировал ему потери большими участками земли. Олав стал норвежским королем, как и Олав Трюгвассон двадцатью годами ранее.
Кнуд сначала мало что делал, чтобы предотвратить успехи Олава в Норвегии. Он был слишком занят, укрепляя свое положение в Англии. Кроме того, оказалось, что Дания тоже требовала его внимания. В 1019 году после смерти брата, которого он оставил там вице-королем, Кнуд был вынужден вернуться в Датское королевство. Оказавшись там, он принялся устанавливать дипломатические контакты на Балтике. Восстановил связи с йомсвикингами, в крепости которых провел детство, и укрепил союз с Болеславом, правителем Польши, приходившимся ему племянником. В 1020 году он послал экспедицию в Самландию, которая, если верить Саксону Грамматику, платила ему в это время дань. Датские интересы и контакты на Балтике продвинулись на восток к границам Киевской Руси.
Возможно, именно деятельность Кнуда на Балтике объясняет изменение отношения шведов. До этого времени сводный брат Кнуда Олав Шётконунг был верным союзником Дании и даже послал крупный шведский контингент на помощь Свену в Англию. Он стал христианином и привез из Англии англосаксонских миссионеров, которые начали обращение населения этой языческой земли. Но, возможно, он начал смотреть на могущественную Датскую империю с тревогой, когда к ней добавилась Англия. В любом случае он уравновесил свою датскую дружбу, выдав одну дочь за заклятого врага Кнуда, святого Олава Норвежского, а другую – за киевского князя Ярослава, контролировавшего соседний Новгород. Когда Кнуд в 1020 году увеличил свои балтийские владения, он столкнулся с большой враждебностью Швеции. Можно сказать, на Балтике и в Скандинавии сформировалось два союза: Дания и Польша, при поддержке вендов, против Норвегии, Швеции и Руси. К 1022 году, когда Олав Шётконунг умер и на трон взошел его сын, Арнунд Якоб, разрыв с Данией стал открытым.
В 1026 году Кнуд был готов действовать. Он собрал крупный флот и отплыл в Швецию, где на Святой реке встретил объединенную норвежско-шведскую армаду под командой Арнунда и Олава Норвежского. Кнуд, по-видимому, одержал убедительную победу, поскольку Олав бросил свои корабли и вернулся в Норвегию по суше через Швецию, а Кнуд аннексировал южную провинцию Швеции Блекинге. Однако норвежские саги не отдают Кнуду лавры за эту победу. Возможно, Арнунд Якоб признал верховную власть Кнуда, поскольку в Сигтуне в этот период чеканились монеты с именем Кнуда и его титулом – король Швеции.