Yes, it's certainly doable without paying anything.
There's no requirement to use the same provider for both your DNS hosting and your website hosting. Plenty of websites use completely different providers for each. It's a good practice.
There are some very good free DNS hosts like Cloudflare and others that you can find in this thread: DNS providers who easily integrate with Let's Encrypt DNS validation