We have devised a reproducible protocol by which human embryonic stem cells (hESCs) or inducible pluripotent stem cells (iPSCs) are efficiently differentiated to functional spinal motor neurons. This protocol comprises four major steps. Pluripotent stem cells are induced to form neuroepithelial (NE) cells that form neural tube-like rosettes in the absence of morphogens in the first 2 weeks. The NE cells are then specified to OLIG2-expressing motoneuron progenitors in the presence of retinoic acid (RA) and sonic hedgehog (SHH) or purmorphamine in the next 2 weeks. These progenitor cells further generate post-mitotic, HB9-expressing motoneurons at the 5th week and mature to functional motor neurons thereafter. It typically takes 5 weeks to generate the post-mitotic motoneurons and 8-10 weeks for the production of functional mature motoneurons. In comparison with other methods, our protocol does not use feeder cells, has a minimum dependence on proteins (purmorphamine replacing SHH), has controllable adherent selection and is adaptable for scalable suspension culture.