A procedure for generating two-dimensional heterogeneous meso-scale concrete samples is developed, in which the multi-phasic features including the shape, size, volume fraction and spatial distribution of aggregates and pores are randomised. Zero-thickness cohesive interface elements with softening traction–separation relations are pre-inserted within solid element meshes to simulate complex crack initiation and propagation. Extensive Monte Carlo simulations (MCS) of uniaxial tension tests were carried out to investigate the effects of key multi-phasic features on the fracture patterns and load-carrying capacities. It is found that the fracture behaviour and stress-displacement responses of the numerical specimens are highly dependent on the random mesostructures, especially the post-peak softening responses. The specimens fail with either one or two macro-cracks, regardless of the shapes and volume fractions of aggregates and pores. Assuming that the aggregate–mortar interface is weaker than the mortar, using polygonal rather than circular or elliptical aggregates, or increasing the aggregate volume fraction will reduce the tensile strength of specimens. The porosity is found to have severely adverse effects on the specimen strength and cannot be neglected in mesoscale fracture modelling of concrete.