The best places to check are Nominet, the UK’s biggest domain name registry, and ICANN, who, amongst many other things, perform the same function for global/US domain names. So if you want a domain name ending in, say, .co.uk, .uk, .org.uk or .london, check its availability first on Nominet’s whois page. If you want a domain name ending in .com, .org or .net, check it out on ICANN’s database.
Neither of these authorities actually sell domain names so for that you need to go to an internet registrar, like GoDaddy, Names, 1and1 and so on.
But a big word of warning – DON’T use the internet registrars for checking the availability before you’re ready to buy because you may find that they see your interest in the name and, if you don’t buy it straight away, they’ll register it in their name then up the price when you go back.