01 - Pat the beef ribs dry with paper towels and season generously with salt and black pepper on all sides.
02 - Heat the vegetable oil in a large Dutch oven or heavy pot over medium-high heat. Sear the ribs on all sides until deeply golden brown, working in batches if necessary to avoid overcrowding. Transfer browned ribs to a plate and set aside.
03 - Reduce heat to medium. Add onions, garlic, ginger, lemongrass, carrots, celery, and bell pepper to the same pot. Sauté for 5 to 7 minutes, stirring occasionally, until vegetables have softened and released their fragrant aromas.
04 - Stir in turmeric, coriander, chili flakes, and bay leaves. Cook for 1 minute, stirring constantly, until spices are fragrant and bloomed.
05 - Add the chopped tomato to the pot and cook for another 2 minutes until it begins to break down and release its juices.
06 - Return the seared ribs to the pot, including any accumulated juices. Stir in fish sauce, soy sauce, and palm sugar until evenly distributed.
07 - Pour in coconut milk and beef stock, ensuring the ribs are mostly submerged. Bring to a gentle simmer, then reduce heat to low.
08 - Cover the pot and simmer over low heat for 2 to 2.5 hours, or until the meat is fork-tender and nearly falling off the bone. Occasionally skim off any excess fat that rises to the surface during cooking.
09 - Taste the sauce and adjust seasoning with additional salt, pepper, or fish sauce as desired. Remove and discard the bay leaves before serving.
10 - Ladle the ragu into serving bowls and garnish with fresh cilantro or Thai basil and sliced red chili if desired. Serve immediately with steamed jasmine rice or crusty bread for soaking up the sauce.