01 - Set oven to 400°F and allow to reach temperature.
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 well using a colander.
03 - While cauliflower cooks, heat olive oil in a large skillet over medium heat. Add chopped onion, minced garlic, diced carrot, and diced celery. Sauté until softened, about 5 minutes.
04 - Add ground beef to the skillet. Cook while breaking up the meat until browned and cooked through, approximately 6 to 8 minutes. Drain excess fat if necessary.
05 - Stir in tomato paste, dried thyme, and dried rosemary. Season with salt and pepper. Cook for 1 minute to develop flavors.
06 - Pour in beef broth and bring to a simmer. Cook until slightly thickened, approximately 5 minutes. Stir in frozen peas and cook for 2 minutes more.
07 - Mash the drained cauliflower with butter, milk, Parmesan cheese 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 layer.
09 - Bake for 20 minutes, or until the top is lightly golden and heated through.
10 - Remove from oven and let rest for 5 minutes before serving to allow flavors to settle.