Skalden Sigvat Tordsson sier i et kvad at Englands konge samlet folk til krigstog mens Olavs menn har for få folk og for små skip. sier for året 1028 at Knut «dro med femti skip med engelske thegner fra England og til Norge, og fordrev kong Olav fra det landet og tok det for seg selv.» Knut kom med en stor flåte sammen med Håkon jarl, sønn av Eirik Håkonsson, og Sigvat skald klagde på at norske stormenn tok vel imot Knuts bestikkelser. Men Olavs posisjon i Norge hadde aldri vært trygt og stødig, og at Knut så raskt kunne tømre sammen en allianse mot Olav ved blant annet for at «han kunne trekke veksler på gammel lojalitet både mot sin egen slekt og mot ladejarlene.» I Norge var Knuts autoritet avhengig av lojaliteten til stormennene ved Trondheimsfjorden og respekten de hadde fått ladejarlenes omdømme. Knut forlot Norge på begynnelsen av 1029 og satte unge Håkon jarl som sin underkonge i Norge. Sommeren 1029 reiste Håkon av uklare grunner tilbake til England, muligens for at han skulle troloves med Gunnhild, Knuts niese. På reisen tilbake druknet han i et skipsforlis i sundet Pentland Firth ved Orknøyene. Knut satte da sin sønn Svein Knutsson (eller Svein Alfivason som han helst refereres til i kildene), hans sønn med Ælfgifu, for å administrere Norge som sin lydkonge med sin mor som verge. Deres reise til Norge ble utsatt med noen uker da Olav Digre hadde fått høre om Håkon jarls død, og tok seg fra Russland via Sverige til Trøndelag. Bøndene tok imot ham med en stor samlingshær og beseiret ham ved Stiklestad i 1030 hvor Olav ble drept. Svein Alfivason og hans mor ble da akseptert som Knuts representanter i Norge.