This paper sets out a structured process for the co-production of knowledge between researchers and societal partners and illustrates its application in an urban health equity project in Accra, Ghana. The main insight of this approach is that research and knowledge co-production is always partial, both in the sense of being incomplete, as well as being circumscribed by the interests of participating researchers and societal partners. A second insight is that project-bound societal engagement takes place in a broader context of public and policy debate. The approach to co-production described here is formed of three recursive processes: co-designing, co-analysing, and co-creating knowledge. These ‘co-production loops’ are themselves iterative, each representing a stage of knowledge production. Each loop is operationalized through a series of research and engagement practices, which we call building blocks. Building blocks are activities and interaction-based methods aimed at bringing together a range of participants involved in joint knowledge production. In practice, recursive iterations within loops may be limited due of constraints on time, resources, or attention. We suggest that co-production loops and building blocks are deployed flexibly.