Ingredients
SERVINGS: 8

Meatballs

Olive oil
6 scallions, cut into 1-inch pieces
2 jalapeños, seeds removed if desired
6 garlic cloves
1 1-inch piece ginger, peeled, chopped
1 tablespoon fresh lemon juice
1 tablespoon garam masala
1 teaspoon ground coriander
½ teaspoon ground cumin
½ teaspoon cayenne pepper
2 pounds ground beef (20% fat)
1 large egg, beaten to blend
3 tablespoons plain yogurt
2 teaspoons kosher salt

Curry Sauce
¼ cup olive oil
4 medium onions, chopped
10 garlic cloves, crushed
1 1½-inch piece ginger, peeled, chopped
3 dried chiles de árbol
4 teaspoons curry powder
4 teaspoons ground cumin
4 teaspoons ground turmeric
3 tablespoons ground coriander
1 teaspoon black peppercorns
1 14.5-ounce can crushed tomatoes
1 bay leaf
1 tablespoon kosher salt, plus more
1 tablespoon fresh lemon juice
½ teaspoon cayenne pepper
Cilantro leaves with tender stems (for serving)

Preparation

Meatballs

Preheat oven to 400°. Lightly brush a rimmed baking sheet with oil. Purée scallions, jalapeños, garlic, ginger, lemon juice, garam masala, coriander, cumin, and cayenne in a blender until smooth. 

Transfer mixture to a large bowl and add beef, egg, yogurt, and salt. Mix with your hands until mixture is homogenous and starts to become very sticky like sausage meat, about 1 minute. Using a 2-oz. ice cream scoop to portion if you like, roll beef mixture into golf ball–size portions and place on baking sheet, spacing 1" apart (you should have about 24). 

Drizzle meatballs with more oil and bake until browned on top and cooked through, 20–25 minutes.

Curry Sauce

Meanwhile, heat oil in a large Dutch oven or other heavy pot over medium. Add onions, garlic, and ginger and cook, stirring often, until onions are translucent and starting to brown, 8–10 minutes. Stir in chiles, curry powder, cumin, turmeric, coriander, and peppercorns. Cook, stirring often, until mixture is very fragrant and spices begin to stick to the pot, about 2 minutes. Add tomatoes, stirring and scraping bottom of pot, and bring to a boil. Add bay leaf, 1 Tbsp. salt, and 2 cups water; return to a boil. Reduce heat and simmer until flavors have melded, 25–30 minutes.

Let curry sauce cool slightly, then transfer to a blender; blend until very smooth. Wipe out any bits remaining in pot and transfer curry sauce back to pot. Stir in lemon juice and cayenne; taste sauce and season with more salt if needed. 

Gently nestle cooked meatballs into sauce, bring to a simmer, and cook until meatballs are heated all the way through, 10–15 minutes. Serve topped with cilantro. 

Do Ahead: Meatballs and sauce can be made 1 day ahead. Let cool; transfer to an airtight container and chill. Gently reheat meatballs in sauce, covered, thinning with water if sauce is too thick.
