Wastewater treatment infrastructure is lacking in many developing countries, often resulting in high loads of contaminants discharged to urban rivers. In these countries, targeted pollution mitigation requires an understanding of where, how and when contaminants enter water bodies. Here we report on contamination of the Ciliwung River, a dynamic, tropical system flowing through the Jakarta metropolitan area (Indonesia). We measured a set of isotopic, chemical and microbial tracers in representative water and contamination sources, as well as longitudinally within the river, to assess the spatial and temporal variations in contaminant levels in and pathways to the river. In the dry season, we observed a tight coupling between locally recharged groundwater sources and the river, whereas in the wet season, one single water source originating from the fractured headwaters predominantly contributed to river flow. Yet, the flushing of upstream waters in the wet season did not always lead to the dilution of contaminants downstream. We delineated several contamination hotspots along the river, particularly active during the wet season due to higher hydrological connectivity between sources and the river. These hotspots may originate from septic tank leakage, as supported by metal ratios and dominant microbial communities, although we could not rule out other potential sources such as urban runoff or sediment resuspension. Bayesian source tracking on the whole microbial community proved useful in outlining processes that conventional tracers did not capture, such as the occurrence of a localised domestic contamination in the upper catchment, and the inflow of agricultural runoff all along the river profile during the wet season. Our study emphasises the role of rivers as biogeochemical reactors that constantly process and transform contaminants and microbial communities. We also demonstrate the value of using isotopic, chemical and microbial tools together to trace the movement of water and contaminants through urban rivers.