In a pot over medium heat, combine beef shanks and water. Bring to a boil, skimming scum that floats on top.
When the broth has cleared, add onions and fish sauce.
Lower heat, cover, and cook for about 1 /2 to 2 hours or until meat is tender.
Meanwhile, peel the guavas and cut in half. With a spoon, scoop out the seeds and combine with one cup water of in a bowl. Mash with the back of a spoon to extract pulp and strain in a fine-mesh sieve. Discard seeds and set aside the juice.
Add tomatoes, guavas, and guava pulp. Continue to cook for another 7 to 10 minutes or until softened and has imparted flavor to the broth.
Trim about 2 inches from the kangkong stalks and discard. Cut kangkong into 3-inch lengths, separating the sturdier stalks from the leaves. Add to the pot and continue to cook for about 1 minute or until just wilted.
Season with salt and pepper to taste. Serve hot
Use a combination of ripe and still green guavas for a good balance of sour and sweet taste.