6″ piece ginger, peeled, coarsely chopped
10garlic cloves, coarsely chopped
6Tbsp. (or more) grapeseed oil or vegetable oil
2tsp. brown mustard seeds
6–8fresh or dried curry leaves (optional)
1tsp. asafetida (optional)
2large red onions, finely chopped
2tsp. ground turmeric
128-oz. can crushed tomatoes
213.5-oz. cans unsweetened coconut milk (not low-fat)
2cups low-sodium vegetable or chicken broth
Pulse ginger and garlic in a food processor, adding a few drops of oil if needed to help blend smoothly, until a coarse paste forms. (Alternatively, you can finely grate ginger and garlic with a Microplane.)
Heat oil in a medium Dutch oven or other heavy pot over medium-high. Add a few mustard seeds to the pot. When seeds start to wiggle and pop, reduce heat to medium and add curry leaves (if using), asafetida (if using), and remaining mustard seeds. Cover pot and cook spices, swirling, until mustard seeds start popping more gradually, about 30 seconds. Uncover pot and return heat to medium-high. Add ginger-and-garlic paste and cook, stirring constantly, until beginning to brown, about 1 minute. Add red onions and a big pinch of salt and cook, stirring often and reducing heat if needed to prevent burning, until onions are golden brown and jammy, 10–12 minutes.
Stir in turmeric, then tomatoes and bring to a simmer. Reduce heat to medium and cook, stirring often, until tomatoes are glossy and darkened in color and oil starts to separate around edges of pot, 7–9 minutes.
Add coconut milk and broth and stir to combine; season with salt. Bring curry to a simmer, then reduce heat to medium-low. Cover and cook another 10 minutes, stirring every couple of minutes to prevent sticking and burning. Taste curry and season with more salt if needed.