In a large Dutch oven, heat oil over medium heat, and saute onions and garlic for 5 minutes, until softened. Add celery, carrots, serrano, bay leaf, cumin, coriander, curry powder and a generous pinch of salt and pepper. Stir well, and continue cooking for 8-10 minutes, until onions are beginning to brown.
Increase heat, add wine, and bring to a boil, scraping any bits stuck to the bottom of the pot. Cook for 2-3 minutes, until wine is nearly evaporated. Add broth, tomatoes and fish sauce, and bring to a boil. Add lentils, and reduce heat to medium. (If needed, add water to bring liquid above the lentils by about an inch.) Return to a boil, then adjust heat to maintain a lively simmer.
Simmer uncovered for 2 hours, until lentils are soft, stirring occasionally, and adding more broth or water, if needed, to keep lentils just covered. Season to taste with additional salt and pepper, and serve topped with cilantro.