In a large saucepan, heat 2 tablespoons of the oil over moderately low heat. Add the onion and cook, stirring occasionally, until translucent, about 5 minutes.
Stir in one third of the garlic, the chili powder, cumin, and cayenne and cook until fragrant, stirring, about 1 minute.
Add the bell peppers, zucchini, yellow squash, and 1 teaspoon of the salt. Cook, stirring occasionally, until the vegetables start to soften, about 5 minutes.
Add the tomatoes and simmer, stirring occasionally, for 20 minutes.
Stir in the beans and simmer until the vegetables are tender, about 5 minutes longer.
Meanwhile, in a medium saucepan, heat the remaining tablespoon of oil over moderately low heat. Add the remaining garlic and the rice. Cook, stirring, until the rice is almost opaque, about 2 minutes.
Add the broth and the remaining ½ teaspoon of salt and bring to a simmer.
Reduce the heat to low and cook, covered, until the rice is tender, about 20 minutes.
Stir the cilantro into the chili and serve atop the rice.
