Defect engineering and cocatalyst loading are effective methods to modify semiconductors to improve their catalytic activity and stability. Herein, sulfur vacancies and dislocations in Mn0.3Cd0.7S nanorods are manipulated by regulating the amount of the sulfur source. After the introduction of Co2P, the maximum H2 production rate for Co2P/Mn0.3Cd0.7S can reach up to 245.3 μmol h−1, ≈2,700 times higher than that of Mn0.3Cd0.7S at the optimal contents of sulfur vacancies and dislocations. The sulfur vacancies serve as the trap sites of electrons and the dislocations might create new transfer channels for carriers, inducing the improvement of catalytic activity and stability.