Place potatoes in a large pot, cover with cold salted water, bring to a boil, then simmer for 15–18 minutes until tender. Drain well.
Heat olive oil in a large skillet over medium heat. Cook onion, carrots, and celery for 6–8 minutes until softened. Add garlic and cook 30 seconds until fragrant.
Stir in tomato paste and cook 1–2 minutes to deepen flavor. Add crushed tomatoes, broth, Worcestershire sauce, thyme, bay leaf, salt, and pepper.
Add rinsed lentils, bring to a gentle boil, then reduce heat to low. Simmer partially covered for 25–30 minutes until lentils are tender and sauce thickens.
Stir in frozen peas and cook 2–3 minutes until heated through. Remove bay leaf, adjust seasoning, and preheat oven to 400°F.
Mash drained potatoes until smooth. Add butter and warm milk, then mash until creamy. Season with salt and pepper.
Transfer lentil filling to a 9x13 inch baking dish. Spoon mashed potatoes over the top and spread to cover completely, sealing the edges. Use a fork to create texture. Sprinkle with cheddar if using.
Place dish on a rimmed baking sheet and bake for 20–25 minutes until golden and bubbling. Let rest 5–10 minutes before serving.