I've got a couple thin knitted wool toques that work well under a helmet. They're "
watch cap" style, but short enough that there isn't that extra rolled cuff at the bottom. A thin fleece liner around the ear band helps that part to be wind resistant.
The problem I tend to have with toques is that the arms of my glasses hold the band away from my ears, so if it's really cold I usually wear a thinner balaclava or ear band instead. This lets me put the glasses arms over the head covering instead of underneath.