Definitely avoid paying: that's just someone cashing in on something simple.
HTML isn't a programming language: it's an interpreted formatting language. In other words, you don't have to worry about variables, procedures, parameters and a bunch of other stuff. Remember, web pages were built in Notepad before there were complex editors, and it didn't take long to do it!
Think of it this way... a programming language is like trying to teach a robot how to do something: you have to teach it what each word means, then how to build sentences, then how to understand them and relate them to actions, then the sequence of actions to do whatever it is you're teaching.
HTML is like trying to teach a child to count to ten. You just have to learn the numbers and the order they go in.
Once you've got that sorted out, you can add levels of complexity (CSS, JScript, etc.) but the basics are incredibly simple. I'll put in my vote for the W3 online courses and reference guides, too. Sheepish is absolutely spot on there: they are very easy to read and you can take it at your own pace, for free.
You can learn most of the basics of structure just by finding a simple site, right-clicking a page and choosing "show source".