The aim of this study was to investigate the effect of biochar on Cd and Cu immobilization and bioavailability in soils with different acidity levels. Four dosages (0, 20, 40 and 60 g kg−1; namely CK, C1, C2 and C3) of biochar produced from rice straw were applied into the soils with four acidity levels (pH 4.5, 5.0, 5.5 and 6.0; namely L1, L2, L3 and L4), the uptake and transport of Cd and Cu by rice and metal speciation dynamics in soil were investigated through the two-year pot experiment. The soil pH and organic matter under all the four acidity levels were significantly increased during the rice maturity stage in the second year after biochar application. Biochar mainly promoted the formation of oxidizable Cd, followed by reducible Cd, and decreased residual Cd content (except for the first-year in the jointing period) during the two consecutive years of rice growth. Biochar reduced the acid extractable Cu content (especially in L2 and L3), increased the oxidizable Cu content, and interconverted Cu between reducible and residual status. The content of Cd in different rice organs were reduced by biochar, and compared with CK, the two-year average reduction in brown rice was 38.12%, 58.07%, 50.99% and 36.45% under L1, L2, L3 and L4. The reduction effect of Cu content in brown rice by biochar was mainly reflected in the second year, which decreased by 17.52%, 20.17%, 20.63% and 9.74% respectively under the four acidity levels. Rice straw biochar can be used for Cd pollution control of rice grain in paddy soil with varied acidity levels. However, further studies are needed on how biochar promotes Cu transport from rice root to shoot.