The worldwide spread of severe acute respiratory syndrome coronavirus 2 (SARS-CoV-2) has led to the repeated emergence of variants of concern. The Omicron variant has two dominant sub-lineages, BA.1 and BA.2, each with unprecedented numbers of nonsynonymous and indel spike protein mutations: 33 and 29, respectively. Some of these mutations individually increase transmissibility and enhance immune evasion, but their interactions within the Omicron mutational background is unknown. We characterize the molecular effects of all Omicron spike mutations on expression, human ACE2 receptor affinity, and neutralizing antibody recognition. We show that key mutations enable escape from neutralizing antibodies at a variety of epitopes. Stabilizing mutations in the N-terminal and S2 domains of the spike protein compensate for destabilizing mutations in the receptor binding domain, thereby enabling the record number of mutations in Omicron sub-lineages. Taken together, our results provide a comprehensive account of the mutational effects in the Omicron spike protein and illuminate previously unknown mechanisms of how the N-terminal domain can compensate for destabilizing mutations within the more evolutionarily constrained RBD.