I don't have any magic answers, but some keys are to need it, to use it, and to do your best to immerse yourself in it. When I use an ATM machine, for example, I set it for my target language if I can.
With regard to "needing" it, that is why it is so important to have real conversations with speakers of the target language. If you "need" the word for "tortoise" or "crankshaft," when you and your language companion figure out what it is, you will not forget it.
It's helpful to remember that speaking, listening, reading, and writing are different skills, and to constantly focus on whichever one is weakest.
Another key is to be realistic about how long it takes. The US Foreign Language Institute says that in their experience it takes an English speaker "24-30 weeks (600-750 class hours)" to reach "general professional proficiency" in Portuguese, "88 weeks (2200 class hours)" to reach it in Arabic. So don't be discouraged by slow progress. No, you can't learn a language in six months spending two hours per week.