Tuberculosis (TB) preventive therapy reduces TB risk in children. However, the effectiveness of TB preventive therapy in children living in high TB burden settings is unclear.In a prospective observational community-based cohort study in Cape Town, South Africa, we assessed the effectiveness of routine TB preventive therapy in children ≤15 years of age in a high TB and HIV prevalence setting.Among 966 children (median (interquartile range) age 5.07 (2.52–8.72) years), 676 (70%) reported exposure to an adult with TB in the past 3 months and 240 out of 326 (74%) eligible children initiated isoniazid preventive therapy under programmatic guidelines. Prevalent (n=73) and incident (n=27) TB were diagnosed among 100 out of 966 (10%) children. Children who initiated isoniazid preventive therapy were 82% less likely to develop incident TB than children who did not (adjusted OR 0.18, 95% CI 0.06–0.52; p=0.0014). Risk of incident TB increased if children were <5 years of age, living with HIV, had a positive Mycobacterium tuberculosis-specific immune response or recent TB exposure. The risk of incident TB was not associated with sex or Mycobacterium bovis bacille Calmette–Guérin vaccination status. Number needed to treat (NNT) was lowest in children living with HIV (NNT=15) and children <5 years of age (NNT=19) compared with children of all ages (NNT=82).In communities with high TB prevalence, TB preventive therapy substantially reduces the risk of TB among children who are <5 years of age or living with HIV, especially those with recent TB exposure or a positive M. tuberculosis-specific immune response in the absence of disease.