Preheat oven to 450 degrees, with rack in lowest position. In a large skillet, heat oil over medium. Add onion and carrots; season with salt and pepper. Cook, stirring occasionally, until tender, 6 to 8 minutes. Add beef, and cook, breaking up meat with a wooden spoon, until no longer pink, 3 to 5 minutes. Add tomato sauce; bring to a boil, reduce to a simmer, and cook, stirring occasionally, until meat mixture has thickened, 8 to 10 minutes; set aside.
In a medium bowl, whisk flour, Parmesan, baking powder, rosemary, and 1/2 teaspoon salt; make a well in center, and add butter and milk. Stir just until dough comes together.
Spoon meat mixture into four 8-ounce ramekins; mound dough on top. Place on a large rimmed baking sheet; bake until topping is golden brown and a toothpick inserted in topping comes out clean, 10 to 12 minutes.
Ground beef can be frozen for up to 3 months. Also, the better the tomato sauce, the better the results.