Abstract The co-firing of coal and biomass reduces the emission of pollutants by a mechanism which has been extensively studied but is still uncertain. Emissions were collected during the combustion in a fixed-bed furnace of Polish bituminous coal and pine wood, both individually and together, and it was observed that biomass produced less soot and burned at a lower temperature. Complementary analytical-scale combustion and pyrolysis experiments were carried out. The results of the analysis of emissions and reaction products, mainly by gas chromatography–mass spectrometry (GC–MS), but for large molecules by size exclusion chromatography (SEC), were interpreted so as to construct a reaction scheme for pollutant formation during co-firing. Evidence for three main routes to pollutant formation during co-combustion was adduced. Firstly, the presence of high MW material (from SEC) indicates escape of devolatilisation products round the outside of the flame. Secondly, the emission factors (ef) of PAH, alkyl-PAH, oxygen-containing PAH (O-PAC) and phenols are consistent with partial pyrolysis, while the high concentrations of the two-ring (naphthalenes and indene) PAH precursors evidently arise through radical reactions involving cyclopentadiene intermediates from phenols generated by pyrolysis of both coal and of biomass lignin. Thirdly, the concentrations of larger PAH are consistent with contributions from a hydrogen abstraction carbon addition (HACA) mechanism in which acetylene or butadiene formed in the flame are added to smaller PAH radicals. A kinetic model was applied to coal, biomass and coal/biomass co-combustion and highlighted the role of HACA in soot production during biomass combustion, but this route to soot was insufficient to model the higher yields of soot observed during coal combustion. In this latter case radical reactions involving either cyclopentadiene or condensation reactions of smaller PAH molecules initially formed in the pyrolysis stage to give ‘aromers’ are more important.