The problem of resistance to therapy in cancer is multifaceted. Here we take a reductionist approach to define and separate the key determinants of drug resistance, which include tumour burden and growth kinetics; tumour heterogeneity; physical barriers; the immune system and the microenvironment; undruggable cancer drivers; and the many consequences of applying therapeutic pressures. We propose four general solutions to drug resistance that are based on earlier detection of tumours permitting cancer interception; adaptive monitoring during therapy; the addition of novel drugs and improved pharmacological principles that result in deeper responses; and the identification of cancer cell dependencies by high-throughput synthetic lethality screens, integration of clinico-genomic data and computational modelling. These different approaches could eventually be synthesized for each tumour at any decision point and used to inform the choice of therapy.