A current challenge in synthetic organic chemistry is the development of methods that allow the regio- and stereoselective oxidative C-H activation of natural or synthetic compounds with formation of the corresponding alcohols. Cytochrome P450 enzymes enable C-H activation at non-activated positions, but the simultaneous control of both regio- and stereoselectivity is problematic. Here, we demonstrate that directed evolution using iterative saturation mutagenesis provides a means to solve synthetic problems of this kind. Using P450 BM3(F87A) as the starting enzyme and testosterone as the substrate, which results in a 1:1 mixture of the 2β- and 15β-alcohols, mutants were obtained that are 96-97% selective for either of the two regioisomers, each with complete diastereoselectivity. The mutants can be used for selective oxidative hydroxylation of other steroids without performing additional mutagenesis experiments. Molecular dynamics simulations and docking experiments shed light on the origin of regio- and stereoselectivity.