RNA splicing is an extraordinary process that generates protein diversity (i.e., up to 150 000 proteins) from approximately 20,000 human genes. The outcome of splicing is controlled by the spliceosome, a multi-megadalton molecular machine which removes non-protein-coding introns from pre-mRNA and joins protein-coding exons to produce mature mRNA and a lariat structure (Figure 1). Almost all our protein-coding genes express more than one mature mRNA sequence (isoform); many of which encode unique proteins. The corresponding protein isoforms often differ in only small blocks of RNA sequence, yet these small changes completely alter the function of these proteins. We are developing new molecular approaches to study how cells use splicing to control gene expression. These approaches are also being harnessed for the development of therapeutics which alter the outcome of splicing in neurodegenerative diseases and cancer.