Before chopping the kernels from the corn, remove the husk and silky threads from the corn with your hands, and discard them from the cob. Hold the corn upright and hold it tightly with one hand, then use a sharp knife to cut downwards (close to the core) to remove the kernels.
Heat the oil in a medium-size saucepan at medium-high heat. Once it’s hot, add the onion and garlic. Cook for 2 minutes, then stir in the corn kernels and cook, stirring from time to time, for about 5 minutes. Next, stir in the squash and keep cooking for 4 more minutes until the squash looks a little pale in color.
Add the squash shoots, squash blossoms (if using), and Epazote leaves to the pot. Cook for 2 minutes then pour in the chicken broth. Once it comes to a boil, reduce the heat and simmer for 3 more minutes. Season the soup with salt and serve immediately in a medium-size bowl.