Try my new budgeting app Cheddar 🧀
Better than YNAB, Mint (RIP), or EveryDollar.
4.0
(1.9k)
Export 13 ingredients for grocery delivery
Step 1
Heat the oven to 350 degrees. Quarter the onion, then thinly slice one portion. Set aside sliced onion. Add the remaining onion to a food processor, along with the garlic, chile and ginger. Purée until fairly smooth, scraping down the sides of the bowl as needed.
Step 2
In a large, deep ovenproof skillet, heat the oil over medium. Add the cumin seeds and cook until lightly toasted, about 30 seconds. Add the onion mixture and salt, and cook, stirring occasionally, until the excess liquid has evaporated and the mixture is just starting to take on a golden color, 8 to 10 minutes.
Step 3
While the mixture cooks, purée the canned tomatoes and their juices, if using diced, chopped or whole tomatoes.
Step 4
Add the beans and chile powder to the onion mixture, and mix well. Use a fork to mash a tablespoon or so of the beans against the side of the skillet to help thicken the sauce.
Step 5
Add the crushed or puréed tomatoes and garam masala to the beans, and mix well. Drizzle the top with cream or scatter with cheese, then slide into the oven and bake, uncovered, until the sauce has thickened and the top is lightly browned, 30 to 40 minutes.
Step 6
Prepare the pickle: While the beans are baking, bring a small saucepan of water to a boil. Transfer 1/4 cup hot water to a small bowl. Stir in the sugar and salt until dissolved. Add the reserved onion slices to the boiling water in the saucepan, turn off the heat and, after 1 minute, drain the onion. Transfer the softened onion to the small bowl and stir in the vinegar.
Step 7
When the beans are ready, fish out the pickled onion slices and arrange on top, letting a few drops of the pickling liquid flick over the beans to season them. Garnish with cilantro and serve with hot rice, buttered toast or flour tortillas.