This vegetarian main dish was adapted from a recipe found in the fifth volume of Canal House Cooking. Melissa Hamilton and Christopher Hirsheimer, the creators of Canal House, learned this dish from Niloufer King, a talented Indian cook and scholar. To make it a heartier, protein-rich meal, we took the liberty of folding in some lightly seared tofu.

Game plan: You’ll need to make the garam masala and steamed white or brown rice before you begin.

This recipe was featured as part of our Vegan Comfort Food recipe slideshow. For more easy rice dishes, we also recommend our dhal recipe.

  • Yield: 4 to 6 servings
  • Difficulty: Easy
  • Total: About 1 hr 15 mins

Ingredients (20)

  • 4 tablespoons vegetable oil
  • 1/2 teaspoon fennel seeds
  • 1 small yellow onion, finely chopped
  • 2 tablespoons peeled, grated fresh ginger (from about a 3-inch piece)
  • 2 medium garlic cloves, minced to a paste
  • 1 teaspoon garam masala (see Game Plan note)
  • 1/2 teaspoon turmeric
  • 1/8 teaspoon cayenne pepper
  • Kosher salt
  • 1/2 cup plus 2 tablespoons water
  • 1 (15-ounce) can chickpeas, also known as garbanzo beans, drained and rinsed (about 1 1/2 cups)
  • 1 1/2 pounds cauliflower (about 1 medium head), trimmed and cut into 1-inch florets
  • 1/2 cup all-purpose flour
  • 1 (12-to 14-ounce) package extra-firm tofu, large dice
  • Freshly ground black pepper
  • 1 large handful cilantro, leaves and stems coarsely chopped
  • 2 tablespoons freshly squeezed lime juice (from about 1 medium lime)
  • Steamed brown rice or steamed white rice, for serving (optional; see Game Plan note)
  • Yogurt, for serving (optional)
  • Naan or chapati, for serving (optional)


  1. Heat 2 tablespoons of the oil in a large frying pan with a tightfitting lid over medium heat until shimmering. Add the fennel seeds and toast, stirring, until fragrant, about 1 minute. Add the onion, ginger, and garlic and cook, stirring and scraping the bottom of the frying pan with a wooden spoon, until browned, about 10 minutes.
  2. Add the garam masala, turmeric, cayenne, and a large pinch of salt and cook, dribbling in a little water, 1 to 2 tablespoons, as you stir. Add the chickpeas, cauliflower, and the remaining 1/2 cup water. Cover and cook until the cauliflower is tender, about 15 to 20 minutes.
  3. Meanwhile, place the flour in a large bowl. Place the tofu cubes on paper towels, pat dry, and season all over with salt and pepper. Toss the tofu in the flour until coated. Heat a second large frying pan with the remaining 2 tablespoons oil over medium-high heat until shimmering. Add the tofu, tapping off any excess flour first, and brown on all sides, being careful of splattering oil, about 9 minutes. Transfer to a paper-towel-lined plate and season with more salt.
  4. When the cauliflower is ready, gently fold in the tofu, cilantro, and lime juice. Serve immediately with rice, yogurt, naan, or chapati, if desired.