Neither Cadmium (Cd) nor lead (Pb) is necessary for crop growth, and they both cause severe soil pollution in many countries. A cross-stress experiment was designed to investigate the feasibility of diagnosing the type and the level of Cd-Pb cross-stress by observing rice canopy hyperspectral images. Two-way analysis of variance and random forest algorithm were employed to select the sensitive indices for Cd-Pb cross-stress diagnosing. Following the exploration of bandwidth expansion from 1 to 20 nm, the final sensitive indices were proposed. We proposed two indices for distinguishing the two heavy metals named: the cadmium stress vegetation index (CSVI) and the lead stress vegetation index (LSVI). The diagnostic accuracies of CSVI distinguishing the four different Cd-stressed levels (0, 2, 5, 8 mg L −1 ) reached 0.85, 0.92, 0.96, and 0.92, respectively, while the precision for four Pb-stressed levels (0, 50,