I don't think I've ever heard "learn something off by heart". To "learn something by heart" is a very common expression that means to learn/memorise something very well. Having said that, according to some online dictionaries, it seems "learn something off by heart" is just a variation. If I were you I would stick with "learn something by heart".
Examples
We learned the lyrics by heart so we wouldn't need to look at them.
You don't need to learn all the phrasal verbs by heart--you'll get a sense of them as you go along.
I hope this helps