A cost-effective protocol for uniform 15N and/or 13C isotope labeling of bacterially expressed proteins is presented. Unlike most standard protocols, cells are initially grown in a medium containing nutrients at natural abundance and isotopically labeled nutrients are only supplied at the later stages of growth and during protein expression. This permits the accumulation of a large cell mass without the need to employ expensive isotopically labeled nutrients. The abrupt decrease in oxygen consumption that occurs upon complete exhaustion of essential nutrients is used to precisely time the switch between unlabeled and labeled nutrients. Application of the protocol is demonstrated for wild-type and a mutant of the N-terminal zinc-binding domain of HIV-1 integrase.