Cut the cauliflower into florets and rinse under running water. Peel the potatoes and cut into long wedges.
Bring a large pot of salted water to a boil. Boil the cauliflower and potatoes for about 20 minutes. Drain and pat dry with paper towels.
In a pan, heat 3 tbsp oil and brown the potatoes and cauliflower for a few minutes. Set aside.
In the same oil, add the sliced onion and ground cumin. Cook over low heat until the onion is translucent.
Add the remaining spices (turmeric, garam masala, coriander), grated ginger and garlic, and the tomatoes. Cover and cook this masala for about 8 minutes.
Add back the potatoes and cauliflower, stir, add the coconut milk, and season with salt. Cook uncovered for 5–6 minutes.