How to Make It
Preheat the oven to 325°. In a small skillet, toast the coriander and cumin seeds over moderately high heat, shaking the pan constantly, until fragrant, about 2 minutes. Transfer the seeds to a spice grinder and let cool. Add the peppercorns, ginger, cardamom, cinnamon, cloves, crushed red pepper and bay leaves and pulse the garam masala to a powder.
In a large enameled cast-iron casserole, heat the oil. Season the short ribs with salt and sear them over high heat until browned and crusty all over, about 15 minutes. Transfer the meat to a plate.
Add the onion, carrots and celery to the casserole and cook over moderate heat until lightly browned, about 7 minutes. Add the tomatoes, garlic and 3 tablespoons of the garam masala (there will be extra) and cook until fragrant and the tomatoes are beginning to break down, about 3 minutes. Add the wine and boil until reduced by half, scraping up any browned bits stuck to the casserole, about 5 minutes. Add the stock and bring to a simmer. Return the meat to the casserole and season with salt. Cover and braise in the oven for about 2 hours, until just tender but not falling apart.
Transfer the meat to a baking sheet. Strain the liquid into a saucepan. Skim off and discard the fat that rises to the surface. Boil over high heat until the sauce is reduced to 1 cup, about 15 minutes.
Preheat the broiler and position a rack 8 inches from the heat. Brush the meat with some of the sauce and broil for 3 minutes per side, until browned and sizzling. Sprinkle the meat lightly with garam masala, then slice it 1/2 inch thick. Transfer to plates and serve with the remaining sauce.