The best, most effective way to learn a language is immersion into that language. Because neither you nor your husband speak it, that will be a bit more difficult.
Do you know anyone who DOES speak Spanish? If you do, have them spend an hour or two at a time with your child, speaking ONLY in Spanish.
I have been attending a church with many hispanic families for many years. Over the last six years I had studied and studied, books, programs, DVD's...nothing helped that much. Within the last six months, the entire hispanic congregation, plus my family, started a new church. My family is the only "anglo" family in the group.
I would say in just the last four months alone, from listening to sermons solely in Spanish with no translator, communicating with people at my church, and hanging out and cooking with my friends (who speak no English) I have become fluent. In four months. It's not my opinion...that's what they tell me.
My two year old has begun singing songs in Spanish, and understands what I say to her in Spanish. Her classes at church are in Spanish, and when we hang out with friends, her friends (2-4 years old) speak to her in Spanish.
My almost 8 year old, though? She knows nothing beyond the basic phrases...Hola, adios, gracias, como estas, bien, etc. This is because HER class (and her class alone) is taught in English, and all of her friends speak English with her instead of Spanish. What a HUGE difference between the two!!
If immersion isn't possible for him, whether that be a special class taught in Spanish or time spent with a Spanish speaking family, then my next suggestion would be for you and hubby to learn along with him and try to speak in Spanish to him as much as possible!