Human pluripotent stem cells (hPSCs) have opened new opportunities for understanding human development, modelling disease processes and developing new therapeutics. However, these applications are hindered by the low efficiency and heterogeneity of cell types, such as motorneurons (MNs), differentiated from hPSCs as well as our inability to maintain the potency of lineage-committed progenitors. Here by using a combination of small molecules that regulate multiple signalling pathways, we develop a method to guide human embryonic stem cells to a near-pure population (>95%) of motor neuron progenitors (MNPs) in 12 days, and an enriched population (>90%) of functionally mature MNs in an additional 16 days. More importantly, the MNPs can be expanded for at least five passages so that a single MNP can be amplified to 1 × 10(4). This method is reproducible in human-induced pluripotent stem cells and is applied to model MN-degenerative diseases and in proof-of-principle drug-screening assays.