01 - Preheat the oven to 400°F.
02 - Bring a large pot of salted water to a boil. Add cauliflower florets and cook until tender, 10–12 minutes. Drain well and set aside.
03 - Heat olive oil in a large skillet over medium heat. Add onion, garlic, carrots, and celery; sauté until softened, about 5 minutes.
04 - Add ground beef and cook, breaking it up with a spoon, until browned, about 6–8 minutes.
05 - Stir in tomato paste, beef broth, Worcestershire sauce, thyme, and rosemary. Simmer for 8–10 minutes, or until slightly thickened.
06 - Add peas, season with salt and pepper, and cook for 2 more minutes. Remove from heat.
07 - In a food processor or using a potato masher, blend cooked cauliflower with butter, milk, Parmesan (if using), salt, and pepper until smooth and creamy.
08 - Spread the beef mixture evenly in a 2-quart baking dish. Top with cauliflower mash, smoothing it out with a spatula.
09 - Bake for 20 minutes, or until the top is lightly golden. For extra browning, broil for 2–3 minutes at the end.
10 - Let rest for 5 minutes before serving.