In eukaryotes, most protein-coding genes contain introns which are removed by precursor messenger RNA (pre-mRNA) splicing. Alternative splicing is a process by which multiple messenger RNAs (mRNAs) are generated from a single pre-mRNA, resulting in functionally distinct proteins. Recent genome-wide analyses of alternative splicing indicated that in higher eukaryotes alternative splicing is an important mechanism that generates proteomic complexity and regulates gene expression. Mis-regulation of splicing causes a wide range of human diseases. This review describes the current understanding of pre-mRNA splicing and the mechanisms that regulate mammalian pre-mRNA splicing. It also discusses emerging directions in the field of alternative splicing.