Hello I'm looking for cheap domain providers and also free hosting if possible. Please list some viable options for me here. Thanks.
Personally I am using NameSilo. Dunno if it is the cheapest, but you get free who is domain protection, with no future hidden fees for about 9 bucks. What I mean with hidden future fees, is for example what Godaddy does. You might get a free one year whois protection with a coupon for the same price but after a year you have to pay a ridicilous amount of money for the protection, last time they were asking me something like 20 $, for a total of 30 $ for a one year renewal.
Namecheap has similar prices with namesilo but once they stole a domain from me citing a ridicilous reason and their customer support wouldn't reply to my mails. So, they get a big no no from me.
EDIT
As for free hosting, all free hosting providers suck. If you simply want to make a blog, you can use blogspot with custom domain. It's pretty good, perfect uptime (since it's essentially hosted by google) and no ads. But it's pretty limited (e.g. no plug ins) and google might one day delete your blog for whatever reason. Hasn't happened to me ever, but plenty of complains out there