勉強:べんきょう: 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.