Experience with urban social protection programmes is relatively limited in the Global South. Extensions or duplicates of rural social assistance programmes do not reflect the distinct vulnerabilities of the urban poor, who face higher living costs and more precarious employment, and are not reached by social insurance schemes that are designed for formally employed workers. Neither the Sustainable Development Goals nor the New Urban Agenda reflect a specific focus on urban social protection. COVID-19 has exposed this major gap in coverage, given the disproportionate impact of lockdowns on the livelihoods of the urban poor. To ‘build back better’ post COVID-19, we propose rights-based national social protection systems with two components: categorical social assistance for non-working vulnerable groups (children, older persons, persons with disability) and universal social insurance for all working adults (formal, informal or self-employed), financed out of general revenues rather than mandatory contributions by employees and employers. These ideas are explored in the case of South Africa, which has comprehensive social assistance but inadequate social insurance for urban informal workers.