North Melbourne have punched their ticket to another AFLW preliminary final, launching the major round by fighting off Adelaide's gritty challenge.