This isn't very fancy, but simple and definitely tasty!
1 tablespoon olive oil
1 medium onion, finely chopped
2 carrots, finely chopped
Coarse salt and ground pepper
1 pound ground beef sirloin, thawed if frozen
2 cups homemade or best-quality store-bought tomato sauce
1 cup all-purpose flour (spooned and leveled)
1/4 cup grated Parmesan (1 ounce)
1 1/2 teaspoons baking powder
1/4 teaspoon crushed dried rosemary
4 tablespoons butter, melted
1/2 cup whole milk
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 (I don't own ramekins, so I put it all in a square baking dish); 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.