You can't.

At least not without strings attached (like paying for hosting). Be very suspicious if someone offers you free domain names unless you already wish to use their other services, and are aware of the renewal charges on your domain. Even if it is free for the first year it's unlikely to be free the next. You may be able to get a discount for the first year though, so shop around.

You're welcome!

What you can do though is use a trial period of discount code to try out a registrar or a service for hosting. Use this link for a discount at name.com, and for hosting we've detailed the best details over on our post about free web hosting trials.