Coat the bottom of a large pot with the oil and place it over medium heat. Allow the oil to heat up for a minute, then add the onion, carrots, and bell pepper. Sweat the vegetables for about 10 minutes, stirring occasionally, until they begin to soften.
Stir in the garlic, garam masala, curry powder, cumin, and ginger. Cook the mixture for about a minute, stirring constantly, until it becomes very fragrant.
Stir in the crushed tomatoes, diced tomatoes, chickpeas, cauliflower, and raisins. Raise the heat to high and bring the liquid to a boil.
Lower the heat until the sauce is cooking at just a low simmer, then cover the pot. Let it simmer for about 20 minutes, covered, until the cauliflower is tender. Uncover the pot every few minutes to check the level at which it is simmering and give it a stir.
While the curry simmers, cook the couscous according to the package directions.
Once the cauliflower is tender, uncover the pot and let the curry simmer for about five minutes longer, just to thicken up the sauce.
Remove the pot from heat and season the curry with salt to taste. Adjust any other seasonings to your liking.
Divide the couscous and curry into bowls, topping each with a sprinkle of cilantro.
Serve.