I got mine at GoDaddy. It's kind of the Wal-Mart of domains lol.
The first thing I want to warn you about is, DON'T use the search there or at any other domain registration site to see if your domain name is available -- unless you are ready to finish the deal in five minutes. If you search, find that it is available, and put off the purchase, it will no longer be available. Any name that is searched is deemed of value by the sharks that watch over such things. There are pigs who buy them up and -- well, never mind the details, just don't wave it around like raw meat in front of starving wolves.
Don't be in a hurry, do some research about domain issues and make a list of possible alternate names. You may need variations with dashes or underscores or slightly different spelling. No spaces or any punctuation! Then you will be ready to do it without fatal hesitation.
Don't set your heart on .com; there are so many of them that now it is common for .org or several new ones to be more available.
Look over all the possibilities, Google up info on problems people may have had with anything that looks too good (keywords like ~ "SuperRegistrar sucks").
Don't get your domain in a package deal with a webhost! Keep domain ownership separate, or you may find that you don't really own the domain. The domain should be yours forever, while hosting is a movable feast.