The Bushveld Complex is the largest known layered intrusion in the world and has been extensively studied. However, there remains an absence of systematic investigations of cobalt (Co) and nickel (Ni) distribution at various scales. Elements Co and Ni behave varying degrees of compatibility within chromite, silicates, and sulfides, making them effective proxies for elucidating chemical competition and interaction among these minerals. This study aims to characterize Co and Ni distribution in olivine, pyroxenes, chromite, and whole rocks from different seams of the Bushveld Complex and to reveal their controlling factors. Our results indicate large variations of whole-rock Co and Ni concentrations, with a decreasing sequence of dunites (Co: 156–222 ppm; Ni: 2208–2750 ppm) > harzburgites (Co: 87.8–174 ppm; Ni: 152–2050 ppm) > pyroxenites (Co: 58.7–143 ppm; Ni: 387–1947 ppm) > norites (Co: 16.0–113 ppm; Ni: 153–646 ppm) > anorthosites (Co: 3.20–16.3 ppm; Ni: 19.7–97.2 ppm). In general, olivine has higher Ni contents (717–4496 ppm) and lower Co (105–239 ppm) than chromite (Ni: 524–1948 ppm; Co: 236–563 ppm). Pyroxenes have apparently low Co (orthopyroxene: 39.7–184 ppm; clinopyroxene: 17.2–114 ppm) and Ni contents (orthopyroxene: 224–1195 ppm; clinopyroxene: 177–831 ppm). Chromite in chromitites has lower Co content than that in other rocks. The whole-rock and mineral Co and Ni variations in the stratigraphic profile are closely related with lithology, mineral assemblages and element partition coefficients in minerals. The Co contents in the chromite and pyroxenes vary alternately with the chromitites and rock seams, with lower Co contents in ore samples than that in silicate rocks. Whole rocks and mineral separates in the Merensky Reef exhibit the highest Ni contents (whole-rock: up to 4000 ppm; orthopyroxene: 1035–1195 ppm; clinopyroxene: 730–831 ppm; chromite: 1760–1948 ppm), which are likely attributed to sulfide segregation and diffusion between sulfides and other minerals. In addition, the sulfide segregation may also be a main factor resulting in Co-Ni decoupling in pyroxenes from the Main Zone of the Bushveld Complex.