Viruses that infect bacteria, i.e., bacteriophage or ‘phage’, are increasingly considered as treatment options for the control and clearance of bacterial infections, particularly as compassionate use therapy for multi-drug resistant infections. In practice, clinical use of phage often involves the application of multiple therapeutic phage, either together or sequentially. However, the selection and timing of therapeutic phage delivery remains largely ad hoc. In this study, we evaluate principles underlying why careful application of multiple phage (i.e., a ‘cocktail’) might lead to therapeutic success in contrast to the failure of single-strain phage therapy to control an infection. First, we use a nonlinear dynamics model of within-host interactions to show that a combination of fast intra-host phage decay, evolution of phage resistance amongst bacteria, and/or compromised immune response might limit the effectiveness of single-strain phage therapy. To resolve these problems, we combine dynamical modeling of phage, bacteria, and host immune cell populations with control-theoretic principles (via optimal control theory) to devise evolutionarily robust phage cocktails and delivery schedules to control the bacterial populations. Our numerical results suggest that optimal administration of single-strain phage therapy may be sufficient for curative outcomes in immunocompetent patients, but may fail in immunodeficient hosts due to phage resistance. We show that optimized treatment with a two-phage cocktail that includes a counter-resistant phage can restore therapeutic efficacy in immunodeficient hosts.