We describe the recent development of lattice Boltzmann (LB) and particle-tracing computer simulations to study flow and reactive transport in porous media. First, we measure both flow and solute transport directly on pore-space images obtained from micro-computed-tomography (CT) scanning. We consider rocks with increasing degree of heterogeneity: a bead pack, Bentheimer sandstone, and Portland carbonate. We predict probability distributions for molecular displacements and find excellent agreement with pulsed-field-gradient (PFG) -nuclear-magnetic-resonance (NMR) experiments. Second, we validate our LB model for multiphase flow by calculating capillary filling and capillary pressure in model porous media. Then, we extend our models to realistic 3D pore-space images and observe the calculated capillary pressure curve in Bentheimer sandstone to be in agreement with the experiment. A process-based algorithm is introduced to determine the distribution of wetting and nonwetting phases in the pore space, as a starting point for relative permeability calculations. The Bentheimer relative permeability curves for both drainage and imbibition are found to be in good agreement with experimental data. Third, we show the speedup of a graphics-processing-unit (GPU) algorithm for large-scale LB calculations, offering greatly enhanced computing performance in comparison with central-processing-unit (CPU) calculations. Finally, we propose a hybrid method to calculate reactive transport on pore-space images by use of the GPU code. We calculate the dissolution of a porous medium and observe agreement with the experiment. The LB method is a powerful tool for calculating flow and reactive transport directly on pore-space images of rock.