This paper presents an experimental and numerical study on the penetration of granular materials by small-arms bullets. In the experimental tests, five different types of granular material (0-2 mm wet sand, 0-2 mm dry sand, 2-8 mm gravel, 8-16 mm crushed stone and 16-22 mm crushed rock) were impacted by four different types of smallarms bullets (7.62 mm Ball with a soft lead core, 7.62 mm AP with a hard steel core, 12.7 mm Ball with a soft steel core and 12.7 mm AP with a tungsten carbide core). The tests were carried out using different rifles to fire the projectiles, while the granular materials were randomly packed in a 320 mm diameter specially-designed steel tube. In all tests, the initial projectile velocity and the depth of penetration in the granular material were measured for each bullet type. In the numerical simulations, a discrete particle-based approach was used to model the behaviour of sand during bullet impact. The method works with discrete particles that transfer forces between each other through contact and elastic collisions, allowing for a simple and robust treatment of the interaction between the sand particles and the bullet which is represented by finite elements. An important observation from the study is that the penetration depth in dry sand is strongly influenced by deviation of the bullet from its original trajectory.Good agreement between the available experimental results and the numerical predictions is also in general obtained.