A suit and tie would be your safest bet. But if you dance a lot, you can be sure you'll take your jacket off and loosen your tie when you get there. Depending on how fancy your girlfriend is dressing, you might be able to pull off no tie instead. Also, if you don't have a suit, you can go with a nice shirt, a tie or no, a blazer, and a pair of slacks. But this is a little less dressy and again, you want to make sure you're not vastly underdressing in comparison to your date.
I don't own a three-piece, but as you can see from above, some people like the vest no jacket look.
Avoid a blazer and jeans. It can be a cool look, but it's not appropriate for a winter ball unless you're a (successful) 80s punk rocker.
You and your girlfriend, as I've alluded to above, should probably just check with each other to see what you're going to wear, so that you're in the same general tier of dressiness. Also, try to avoid matching with each other, unless you want to be Mr. and Mrs. Tool.
But make sure your shoes are comfortable enough for you to dance--because as has been said, that is the whole freaking point. Personally, I'm just fine dancing in nice dress shoes, but not everyone is. Your girlfriend has the advantage that she can take off her heels and that is socially acceptable; you cannot do this. But don't wear sneakers. You'll look like a scrub.