As with learning any language (eg BahasaIndonesia, LispLanguage) there are any number of ways to learn Esperanto, and some combination of the techniques may prove most useful.
Best way: speaking Esperanto with people, reading Esperanto, listening to Esperanto!
Books: Complete Esperanto, Esperanto Made Easy, Fundamento de Esperanto