I really have to plug the method of Comprehensible Input (CI) [0].
Specifically, Pablo Román's effort to make this viable for Spanish [1]. I started before there was a website or anything, just watching free youtube videos. Now I'm definitely B2 or C1. I subscribe partially just to show my support even though I mostly consume native-level media now.
Similar and helpful along he lines of CI are [2] and [3].