It goes without saying, but I'll say it anyway, that the best way to learn a programming language is to use it. There's no better teacher than one's own mistakes.
I expect it to go without saying that Scala books are helful. The most traditional, Artima's Programming in Scala (PinS), whose authors include both Scala's mastermind, Martin Odersky, Lex Spoon of Google Web Toolkit fame, and ScalaTest's creator, Bill Venner, will give you a good, general grounding. This is the only book I have read so far.
Beginning Scala, written by Lift's creator David Pollack, and Programming Scala, an O'Reilly book which has Dean Wampler and Twitter's Platform Lead Alex Payne as its authors, are both more practical-minded. You might pick up Scala faster from the latter two, but still want a bit more depth from the former. Finally, there's Pragmatic Bookshelf's Programming Scala: Tackle Multi-Core Complexity on The Java Virtual Machine, by Venkat Subramaniam, Agile Developer's founder. I have dipped here and there in some of these books, and follow quite a few of these author's blogs an twitters.
Then, of course, there's a whole page on Scala-Lang about learning Scala. I have perused it, and I make references to Scala's formal specification now and then, but this is already whole other level. I can't say it helped much when I began learning, but mostly because I prefer a more theoretical slant to language texts.
So, skipping all that, I have browsed available blogs on Scala (you may scan this link for examples), and, once I was done with that, started following selected favorite blogs as well as Scala blogs aggregator Planet Scala.
I have also read Scala questions on Stack Overflow, and the answers. I tried to solve the questions, and posted my answers -- it's one way of getting criticism on your code. :-) I also tried my hand at Scala with language-agnostics and algorithm questions.
If you don't have any project to use Scala at, and are presently with a writer's block, there's 99 Scala Problems, an adaptation of 99 Prolog Problems. Project Euler is also a good place to find problems. I have spent a few hours here and there with both. EDIT Another source of problems are the tutorials on Simply Scala, with the added benefit of being able to execute code from the tutorials with a simple click on the site.
If your thing is web programming, then Lift is the way to go, hands down. There's APress The Definitive Guide to Lift, based on a web collaboration effort, of which you can find more in this group. I'm starting into Lift right now, and my last web "programming" experience targetted Mosaic and Lynx.
Scala also has a number of mailing lists, with very helpful people, and an IRC channel where you can really talk about it. You can find information about both from Scala-Lang. You'll find me in both.
Finally, I blogged about it. This was probably the most effective of my efforts. First, because I'd clean up my code before posting it, which significantly improved it. Second, because writting about my code made me think about it, which often improved my understand of Scala and gave me insights into the language.
As for my own background, I learned BASIC over 25 years ago, and followed with Assembler (Z-80) and Forth within a year. I have a thing for unusual languages, and I find it annoying that so-called OO programmers nowadays mix methods and messages, and think there's something wrong with prototype-based OO languages. Scala's "_" annoys me, even though I did get used to it, and bemoan the fact that it isn't as concise as it could have been. Other than that, I'm in love with Scala, and think mainstream and I will finally have a meeting of minds. Well, meet again (last time it was C).
EDIT
While I haven't used it to learn Scala, particularly since it was just finished, David Copeland produce his own Scala Tour, as he was a bit disappointed with the existing ones on Scala-Lang. I, myself, haven't had time to peruse it yet, but it has earned approval from some very smart people, including at least one of the authors of the books previously mentioned. I'll quote David here with regards to this work:
Many of the examples lacked the
answer to the question "what problem
does this feature solve?" or contained
examples that I found too abstract to
really show the utility of the
feature.
So, I decided to investigate
each language feature and answer it
myself. I have little experience with
(or allegiance to) functional
programming, so I approached it from
my perspective as a Java application
developer. For each feature I tried
to find a common problem faced by app
developers, and then work out how
Scala would provide a solution. It
wasn't always easy.