In a large pot, bring the water to a boil. Add the whole chicken and reduce the heat to a simmer. Cook for one hour, skimming any foam that rises to the top.
Remove the chicken from the pot and set it aside to cool. Strain the broth through a fine-mesh sieve and return it to the pot.
Once the chicken is cool enough to handle, remove the meat from the bones and shred it. Discard the bones and skin.
Return the shredded chicken to the pot, along with the strained broth.
Add the chopped vegetables, garlic, tomato sauce, cumin, and bay leaf to the pot. Season with salt and pepper, to taste.
Simmer the soup for another 30 minutes, or until the vegetables are tender.
Remove the bay leaf and discard it. Serve the soup hot, garnished with fresh cilantro.