Preheat the oven to 350°F. Spray a 9x13-inch baking dish with non-stick cooking spray and set aside.
Make the filling: In a large, high-sided skillet or Dutch oven, warm the olive oil over medium heat until it’s shimmering and add the onions. Cook until translucent, about 4 to 5 minutes. Add the garlic and cook for an additional minute. Add the squash, tomatoes, tomato paste, spices, and salt. Stir in the broth and bring mixture to a boil.
Simmer the filling: Cover the pot and reduce heat to low. Simmer for 15 to 18 minutes, or until squash is tender.
Make the cornbread topping while the filling simmers: In a medium mixing bowl, whisk together cornmeal, flour, baking powder, and salt. Using a wooden spoon, slowly stir in the butter, milk, and water; mix only until just combined. Set aside and let it sit for ten minutes or so, while the filling simmers.
Add the rest of the ingredients to the filling: Stir in the corn, beans, and greens into the filling, and continue cooking, covered, for 3 to 5 minutes, until mixture has thickened slightly and all the ingredients are incorporated.
Transfer to baking dish and bake: Scrape the filling into the prepared pan and top with generous biscuit-sized clumps of cornbread topping (this can be rustic and uneven). Bake for 20 to 25 minutes, or until filling is bubbling and topping is golden brown.
Serve: Remove from the oven allow to cool for 5 to 10 minutes before serving.
