In a large pot, heat oil over medium heat. Add onions and cook until translucent.
Add cauliflower pieces, cut poblano peppers and zest from one lime. Reduce heat to low and continue cooking and stirring occasionally until all the cauliflower softens (approx 45 min). The cauliflower will render a good amount of moister and added flavor.
Using a potato masher, break up the cauliflower in the pot into small pieces. If the pot seems dry, add a little chicken stock.
Continue cooking for another 10-15 minutes until the cauliflower really breaks down. Add the curry powder and let the mixture simmer for a few more minutes.
Add the coconut milk, whole milk, cream, and 2 cups of the chicken stock. Depending on the thickness you desire, you can add another cup of chicken stock.
Continue cooking over low heat for another 20 minutes. Add the juice from the lime to the pot and stir. Season to taste with salt and pepper.
Serve with chopped cilantro and wedges of lime for additional brightness.