I use a Smartwool liner in winter and it keeps me toasty warm. The nice thing about it is that although it keeps my head and ears warm it is thin enough to fit under my helmet without my head feeling squished.

Oops forgot to add if its raining I use a helmet cover as well. These are great (make you look like you have an alien size head) but they keep you nice and dry.