Heat the oil in a large Dutch oven over medium heat. Add the onion and cook until soft and well-browned, about 10 minutes, reducing the heat to low halfway through.
In a small bowl, mix together the garlic, ginger, cumin, coriander, turmeric, cardamom, and salt. Set aside.
Add the butternut squash and chiles to the pot, stir, and cook for 5 minutes. Stir in the cauliflower and then add the coconut milk and the spice mixture. Cover and simmer for 20 minutes or until the vegetables are tender.
Add the lemon juice, lime juice, spinach, peas, and stir. Taste and adjust seasonings, adding additional lime juice, salt, and pepper, as desired.
Serve the curry over the rice with fresh basil, naan bread, if desired, and lime wedges on the side.