01 - Heat oven to 400°F.
02 - Bring a large pot of salted water to a boil. Add cauliflower florets and cook until very tender, approximately 10 to 12 minutes. Drain thoroughly in a colander.
03 - While cauliflower cooks, heat olive oil in a large skillet over medium heat. Add onion, garlic, carrot, and celery. Sauté until softened, about 5 minutes.
04 - Add ground beef to the skillet. Cook, breaking up meat with a spoon, until browned and cooked through, approximately 6 to 8 minutes. Drain excess fat if necessary.
05 - Stir in tomato paste, thyme, rosemary, and season with salt and pepper. Cook for 1 minute.
06 - Pour in beef broth, bring to a simmer, and cook until slightly thickened, about 5 minutes. Stir in peas and cook for 2 minutes more.
07 - Mash the drained cauliflower with butter, milk, Parmesan if using, salt, and pepper until smooth and creamy.
08 - Spoon beef mixture into an 8 by 8 inch baking dish. Spread cauliflower mash evenly over the top.
09 - Bake for 20 minutes, or until the top is lightly golden.
10 - Let rest for 5 minutes before serving.