Heat 1½ tablespoons of olive oil in a large skillet. Cook 1 finely chopped onion, 2 minced garlic cloves, 1 finely chopped carrot, and 1 finely chopped celery stalk until soft.
Add 750g of ground beef and cook, breaking it up, until browned. Stir in ¼ cup of all-purpose flour, ¼ cup of tomato paste, and ½ cup of red wine.
Add 2 cups of low-sodium beef stock, 1 crumbled beef bouillon cube, 2 tablespoons of Worcestershire sauce, 1 teaspoon of dried thyme, 2 bay leaves, and ¾ teaspoon of salt. Simmer for about 30 minutes, until thick.
Meanwhile, preheat the oven to 350°F / 180°C. Boil 1.2kg of peeled potatoes, cut into chunks, until tender. Drain well and mash with 2 tablespoons of butter and ⅔ cup of warm milk; season with salt and pepper.
Spread the filling in a baking dish and cover with the mash. Bake for 25-30 minutes, until golden on top and bubbling at the edges.