The mechanism and selectivity of aromatic hydroxylation by cytochrome P450 enzymes is explored using new B3LYP density functional theory computations. The calculations, using a realistic porphyrin model system, show that rate-determining addition of compound I to an aromatic carbon atom proceeds via a transition state with partial radical and cationic character. Reactivity is shown to depend strongly on ring substituents, with both electron-withdrawing and -donating groups strongly decreasing the addition barrier in the para position, and it is shown that the calculated barrier heights can be reproduced by a new dual-parameter equation based on radical and cationic Hammett sigma parameters.