Lernu has Esperanto courses in many languages. It also offers you a community – language helpers, a forum and so on – so it’s a great place to start.
Duolingo is a cluster of very modern language courses, and the Duolingo Esperanto course allows you to reach a very good level. Unfortunately it is only available in English and soon Spanish.
Passporto al la tuta mondo
Pasporto al la tuta mondo is a series of DVDs which are now also available for free on Youtube. They are a very amusing way to learn Esperanto.
Kurso de Esperanto
If you are often without internet, Kurso de Esperanto may be for you, because it’s a software that you can download. It only teaches few lessons but teaches them well.
Universala Esperanto Metodo
The “Universala Esperanto Metodo” teaches with the direct method (using only pictures, no English or another language), so it is great if you want to immerse yourself in Esperanto.
Esperanto in 12 days
This course is based on the Zagreb method. It is available in many languages and it’s particularly good if you’re viewing this on a cellphone.