The ability to replace the native heme cofactor of proteins with an unnatural porphyrin of interest affords new opportunities to study heme protein chemistry and engineer heme proteins for new functions. Previous methods for porphyrin substitution rely on removal of the native heme followed by porphyrin reconstitution. However, conditions required to remove the native heme often lead to denaturation, limiting success at heme replacement. An expression-based strategy for porphyrin substitution was developed to circumvent the heme removal and reconstitution steps, whereby unnatural porphyrin incorporation occurs under biological conditions. The approach uses the RP523 strain of Escherichia coli, which has a deletion of a key gene involved in heme biosynthesis and is permeable to porphyrins. The expression-based strategy for porphyrin substitution detailed here is a robust platform to generate heme proteins containing unnatural porphyrins for diverse applications.