El San Pedro desemboca cerca de su origen, el caño de la Tapa, límite municipal entre Jerez de la Frontera y Puerto Real; atraviesa el norte de este último para seguidamente servir de división entre Puerto Real y El Puerto de Santa María hasta su desembocadura en la Bahía de Cádiz, en la punta de los Saboneses.