I really don't want to discourage you, but telling truth is also important. I can also list here some name. But, don't want to misguide anyway. So, let me tell you dear that -
Free and best really not possible.
Because, all they provide very limited resources. They will block service as you will reach their extremely limited quota.
As we all know very well - A shared hosting is known as very limited resource kind of hosting. And, In free hosting, it is very clear that - As your blog will grow (200-300+ pageview per day)
You will see memory out, internal server error and h*ll of problem.. Ultimately, again you have to look for another host.. I experienced this truth,when I published a article, shared socially and my site went down.
In past - I have tried Hostinger and 1freehosting. I learned one thing from there-
Free hosting is good at some extend till you are learning, so I think for very beginner it is good to follow your passion even free domain like .tk
But, if you are serious about running a blog. Then you must have to do investment for it.
Obviously, it would be totally worth
Last few days back I read a awesome post at Kinsta blog
"If You Earn a Living from Your Website You Have to Spend Money on It"
Please checkout - https://kinsta.com/blog/make-a-living-from-a-website/