Heat olive oil in a large pan over medium-high heat. Add meat and cook until no longer pink, breaking it up with a wooden spoon and stirring frequently, about 5 minutes.
Add diced celery, onions, carrots, rosemary, thyme, salt, and pepper to the pan. Cook until the vegetables soften, about 5 minutes, stirring occasionally.
Add beef broth and tomato paste to the pan, stirring until the paste dissolves. Reduce heat slightly and let it continue to simmer until the sauce thickens, about 15 minutes.
Place cauliflower florets in a large microwave-safe bowl. Microwave until the cauliflower is very tender, about 10 minutes.
Spread out the florets on paper towels to drain for 5 to 10 minutes or until they stop steaming.
Transfer the cauliflower florets to a food processor or blender. Add cheddar cheese, cream cheese, butter, garlic, salt, and pepper. Puree until it has a smooth consistency resembling mashed potatoes.
Use a slotted spoon to transfer the meat mixture to an 8x8 inch or 2 quart baking dish, evenly spreading it along the bottom.
Evenly spread the mashed cauliflower over the meat. Use a fork to roughen the cauliflower surface.
Optionally, top with shredded cheddar cheese and paprika. Lightly drizzle olive oil on top.
Bake at 400 F until the peaks of the mashed cauliflower are browning, about 30 minutes. Optionally garnish with chives or parsley.
