Summary It is known that dispersion in porous media results from an interaction between convective spreading and diffusion. However, the nature and implications of these interactions are not well understood. Dispersion coefficients obtained from averaged cup-mixing concentration histories have contributions of convective spreading and diffusion lumped together. We decouple the contributions of convective spreading and diffusion in core-scale dispersion and systematically investigate interaction between the two in detail. We explain phenomena giving rise to important experimental observations such as Fickian behavior of core-scale dispersion and power-law dependence of dispersion coefficient on Péclet number. We track movement of a swarm of solute particles through a physically representative network model. A physically representative network model preserves the geometry and topology of the pore space and spatial correlation in flow properties. We developed deterministic rules to trace paths of solute particles through the network. These rules yield flow streamlines through the network comparable to those obtained from a full solution of Stokes’ equation. Paths of all solute particles are deterministically known in the absence of diffusion. Thus, we can explicitly investigate purely convective spreading by tracking the movement of solute particles on these streamlines. Then, we superimpose diffusion and study dispersion in terms of interaction between convective spreading and diffusion for a wide range of Péclet numbers. This approach invokes no arbitrary parameters, enabling a rigorous validation of the physical origin of core-scale dispersion. In this way, we obtain an unequivocal, quantitative assessment of the roles of convective spreading and diffusion in hydrodynamic dispersion in flow through porous media. Convective spreading has two components: stream splitting and velocity gradient in pore throats in the direction transverse to flow. We show that, if plug flow occurs in the pore throats (accounting only for stream splitting), all solute particles can encounter a wide range of independent velocities because of velocity differences between pore throats and randomness of pore structure. Consequently, plug flow leads to a purely convective spreading that is asymptotically Fickian. Diffusion superimposed on plug flow acts independently of convective spreading (in this case, only stream splitting), and, consequently, dispersion is simply the sum of convective spreading and diffusion. In plug flow, hydrodynamic dispersion varies linearly with the pore-scale Péclet number when diffusion is small in magnitude compared to convective spreading. For a more realistic parabolic velocity profile in pore throats, particles near the solid surface of the medium do not have independent velocities. Now, purely convective spreading (caused by a combination of stream splitting and variation in flow velocity in the transverse direction) is non-Fickian. When diffusion is nonzero, solute particles in the low-velocity region near the solid surface can move into the main flow stream. They subsequently undergo a wide range of independent velocities because of stream splitting, and, consequently, dispersion becomes asymptotically Fickian. In this case, dispersion is a result of an interaction between convection and diffusion. This interaction results in a weak nonlinear dependence of dispersion on Péclet number. The dispersion coefficients predicted by particle tracking through the network are in excellent agreement with the literature experimental data for a broad range of Péclet numbers. Thus, the essential phenomena giving rise to hydrodynamic dispersion observed in porous media are (1) stream splitting of the solute front at every pore, causing independence of particle velocities purely by convection; (2) velocity gradient in pore throats in the direction transverse to flow; and (3) diffusion. Taylor's dispersion in a capillary tube accounts only for the second and third of these phenomena, yielding a quadratic dependence of dispersion on Péclet number. Plug flow in the bonds of a physically representative network accounts only for the first and third phenomena, resulting in a linear dependence of dispersion on Péclet number. When all the three phenomena are accounted for, we can explain effectively the weak nonlinear dependence of dispersion on Péclet number.