Preheat the oven to 400°F (200°C). Lightly grease a 9x13-inch baking dish or a deep casserole dish.
Cook the cauliflower. Bring a large pot of salted water to a boil.
Add cauliflower florets and cook until very tender, 10–12 minutes. Drain well and let steam off excess moisture for a minute or two.
Make the cauliflower mash. In the drained pot or a large bowl, combine cauliflower, butter, garlic, and a big pinch of salt and pepper. Mash with a potato masher or blend with an immersion blender until smooth.
Stir in Greek yogurt and Parmesan if using. Taste and adjust seasoning. Set aside.
Sauté the aromatics. Heat olive oil in a large skillet over medium heat.
Add onion, carrots, and celery with a pinch of salt. Cook, stirring, until softened, 6–8 minutes. Add garlic and cook 30 seconds more.
Brown the meat. Add ground beef, lamb, or turkey to the skillet.
Break it up and cook until browned and no longer pink. Drain excess fat if needed. Season with salt, pepper, thyme, and rosemary.
Build the sauce. Stir in tomato paste and Worcestershire.
Cook 1 minute. Sprinkle over cornstarch or flour if using, then pour in the broth. Bring to a simmer and cook 2–3 minutes until slightly thickened.
Add the veggies. Stir in frozen peas (and corn if using).
Simmer another minute. The mixture should be saucy but not soupy. Taste and adjust seasoning.
Assemble. Spread the meat mixture in the baking dish in an even layer.
Dollop the cauliflower mash on top and gently spread it edge to edge, sealing the edges to prevent bubbling over. Use a fork to create ridges for browning.
Finish and bake. Brush or drizzle a little butter or olive oil over the mash. Bake 20–25 minutes, until the top is lightly golden and the filling is bubbling around the edges.
For extra color, broil 2–3 minutes at the end, watching closely.
Rest and serve. Let the pie rest 10 minutes before scooping. Garnish with chopped parsley if you like.