The use of industrial wastes for wastewater treatment as a strategy to their re-use and valorisation may provide important advances toward sustainability. The present work gives new insights into heavy metal biosorption onto low-cost biosorbents, studying chromium(III) biosorption onto spent grains residual from a Portuguese brewing industry both in batch and expanded bed column systems. Experimental studies involved unmodified spent grains and spent grains treated with NaOH. Metal uptake followed a rapid initial step, well described by the pseudo-second-order kinetic model up to 2–7 h, indicating chemisorption to be the rate-limiting step. Beyond this period intraparticle diffusion assumed an important role in the uptake global kinetics. The best fit for equilibrium data was obtained using the Langmuir model, with unmodified spent grains having the higher maximum uptake capacity (q max = 16.7 mg g−1). In open system studies, using expanded bed columns, the best performance was also achieved with unmodified spent grains: Breakthrough time (C/C i = 0.25) and total saturation time (C/C i = 0.99) occurred after 58 and 199 h of operation, corresponding to the accumulation of 390 mg of chromium(III), 43.3 % of the total amount entering the column. These results suggest that alkali treatment does not improve spent grains uptake performance. Changes in biomass composition determined by Fourier transform infrared spectroscopy suggested hydroxyl groups and proteins to have an important role in chromium(III) biosorption. This study points out that unmodified spent grains can be successfully used as low-cost biosorbent for trivalent chromium.