I’m surprised no one seemed to mention this yet but IMO the best way is to find a good teacher.
Books (preferably with some sort of audio media) and apps can be decent but you need a lot of self-discipline and they won’t adapt to what you are struggling with.
Of course, nothing beats full immersion in a society that only speaks the language you want to learn, but even that, a complete beginner will be much better off with an actual teacher.