Preheat your oven to 400°F (200°C).
In a large skillet, heat the olive oil over medium heat. Add the diced onion and cook until softened, about 5 minutes. Stir in the minced garlic and cook for an additional minute.
Add the ground beef or turkey to the skillet, breaking it apart with a spoon. Cook until browned, about 5-7 minutes.
Stir in the diced carrots, frozen peas, tomato paste, Worcestershire sauce, thyme, rosemary, salt, and pepper. Cook for another 5 minutes until the vegetables are tender. Remove from heat.
While the meat mixture is cooking, place the cubed potatoes in a large pot and cover with water. Bring to a boil and cook until tender, about 15-20 minutes. Drain the potatoes.
In the same pot, add the milk and butter to the drained potatoes. Mash until smooth and creamy. Season with salt and pepper to taste.
Spread the meat and vegetable mixture evenly in a 9x13-inch baking dish. Top with the mashed potatoes, spreading them out evenly. Sprinkle the shredded cheddar cheese on top.
Bake in the preheated oven for 25-30 minutes, or until the cheese is bubbly and golden brown.
Let cool for a few minutes before serving.