I taught myself HTML from scratch. I got a book from the library to start me off...I think it was an Internet for Dummies one, with a small section about websites. I chose that one because it explained the 'tags' well.
However, after mastering remembering the basic tags I learnt a lot more from looking at how existing web pages are made up...I wouldn't say I'm too bad now :)
The site dj_ajax suggested looks good...but I'd also suggest www.lissaexplains.com - although it's supposed to be for kids, it's great for any beginner, a friend of mine has used it.