Calienta el aceite en un cazo a fuego medio-bajo. Añade la cebolla y cocina de 4 a 5 minutos, removiendo, hasta que esté translúcida y haya perdido el olor crudo. Incorpora el ajo y cocina 30 segundos, solo hasta que desprenda su aroma sin dorarse.
Agrega el tomate triturado, el azúcar, el vinagre y la salsa de soja. Mezcla y cocina durante 3 minutos, hasta que la preparación empiece a hervir suavemente y los ingredientes estén integrados.
Incorpora los cubos de guayaba y 120 ml de agua. Baja el fuego, tapa parcialmente y cocina de 12 a 15 minutos, removiendo con frecuencia y aplastando la guayaba contra el fondo hasta que se derrita y la salsa quede espesa.
Retira del fuego y revisa la consistencia. La salsa debe cubrir el dorso de una cuchara y caer lentamente. Si está demasiado espesa, añade agua caliente de una cucharada en una cucharada; si está líquida, cocínala unos minutos más sin tapa.
Deja reposar la salsa durante 10 minutos para que se asiente el sabor. Sírvela tibia o déjala enfriar por completo antes de pasarla a un frasco limpio y refrigerarla.