01 - Preheat oven to 400°F.
02 - Heat olive oil in a large skillet over medium heat. Add onion, carrots, and celery; sauté for 5 to 6 minutes until softened.
03 - Add garlic and cook for 1 minute. Stir in ground beef and cook, breaking apart with a spoon, until browned, about 7 to 8 minutes. Drain excess fat if necessary.
04 - Stir in tomato paste and cook for 1 minute. Add beef broth, Worcestershire sauce, thyme, and rosemary. Simmer uncovered for 10 to 12 minutes until slightly thickened.
05 - Stir in frozen peas, season with salt and pepper, then remove from heat.
06 - Bring a large pot of salted water to a boil. Add cauliflower florets and cook for 10 to 12 minutes until very tender. Drain thoroughly.
07 - Transfer cauliflower to a food processor. Add butter, milk or cream, Parmesan cheese if using, salt, and pepper. Blend until smooth and creamy, scraping sides as needed.
08 - Spread the beef filling evenly in a 9x13-inch baking dish. Top with the cauliflower mash, smoothing the surface with a spatula.
09 - Bake for 20 to 25 minutes until the top is lightly golden and the filling bubbles. For a more golden crust, broil an additional 2 to 3 minutes.
10 - Allow to rest for 5 to 10 minutes before serving.