勉強:べんきょう： To study. something you can do by yourself, unlike 学ぶ。 Benkyo is used about learning a whole subject - benkyo takes months or years.
学ぶ：まなぶ： 2 meanings: to learn something from a teacher. Also, to learn one random fact (not a whole subject).
Also, 学ぶ means that you know it, while 勉強 means you are studying it but don't necessairly know it yet.