ABSTRACT Background Young children (<5 years) and children living with HIV in contact with an adult with tuberculosis (TB) should receive TB preventive therapy (TPT), but uptake is low. Aims To determine gaps in the uptake of and adherence to TPT in child TB contacts under routine primary care clinic conditions. Methods A cohort of child TB contacts (age <5 years or living with HIV <15 years) was followed at a primary care clinic in Johannesburg, South Africa. Results Of 170 child contacts with 119 adult TB cases, only 45% (77/170) visited the clinic for TPT eligibility screening, two of whom had already initiated TPT at another clinic. Of the 75 other children, 18/75 (24%) commenced TB treatment and 56/75 (75%) started TPT. Health-care workers followed the guidelines, with 96% (64/67) of children screened for symptoms of TB and 97% (36/37) of those symptomatic assessed for TB, but microbiological testing was low (9/36, 25%) and none had microbiologically confirmed tuberculosis. Only half (24/46, 52%) of the children initiating TPT completed the 6-month course. Neither sociodemographic determinants (age, sex) nor clinical factors (HIV status, TB source, time to TPT initiation) was associated with non-adherence to TPT. Conclusion Most child contacts of an adult TB case do not visit the clinic, and half of those initiating TPT did not adhere to the full 6-month course. These programme failures result in missed opportunities for early diagnosis of active TB and prevention of progression to disease in young and vulnerable children.