I live in Bay Ridge, and it's almost impossible to get yarn and knitting tools around here.
However, I heard from a friend of mine, that there was a shop on 4th Ave, 59th Street so I went there to give it a shot.
The shop was labeled as a "wedding" store. All your needs for wedding occasions, but if you walk inside, they have an entire wall space filled with shelves of yarn. And for a nerd like me, it was like walking into yarn heaven. Everything is very well organized and you will have no problem searching for what you need.
The shop staff didn't seem like they spoke good English though, and I'm pretty sure they're Spanish speakers. A fairly old man helped me with my purchases, but when I asked for a certain knitting needle, he didn't seem to understand me too well. But that was no problem at all, he was extremely friendly and got me everything that I needed.
The store isn't limited to yarn though, they have knitting needles, sewing needles, thread, lace, beads, and etc. If you're a crafty person, and live in bay ridge, you should most definitely visit this shop at least once.