01 -
Heat olive oil in a large, deep skillet or Dutch oven over medium-high heat. Add ground beef or lamb and cook, breaking up with a spoon, until browned. Drain excess grease.
02 -
Add onion, carrots, and celery to the meat. Cook, stirring occasionally, until vegetables soften, about 5-7 minutes.
03 -
Stir in minced garlic and tomato paste. Cook for 1 minute until fragrant.
04 -
Pour in red wine if using, scraping up any browned bits. Simmer for 1-2 minutes to reduce slightly.
05 -
Add broth, Worcestershire sauce, thyme, rosemary, and bay leaf. Season with salt and pepper. Stir to combine.
06 -
Sprinkle flour over the filling. Stir thoroughly and cook for 2 minutes to eliminate raw flour taste.
07 -
Bring to a simmer. Reduce heat to low, cover, and cook for 30-60 minutes, stirring occasionally. If the sauce thickens too much, add more broth as needed.
08 -
Stir in frozen peas during the last 5 minutes of simmering. Discard bay leaf before assembling.
09 -
Place peeled, quartered potatoes in a large pot and cover with cold water. Add salt and bring to a boil. Cook until potatoes are tender, 15-20 minutes. Drain well, return to pot, and mash with milk (or cream), butter, and Parmesan (if using) until smooth. Season with salt and pepper.
10 -
If desired, whisk egg yolk with 1 tablespoon water for brushing on the potato topping before baking.
11 -
Set oven to 190°C (375°F).
12 -
Transfer meat filling to a 23-cm pie dish or oven-safe casserole dish. Spread mashed potatoes evenly over the filling, using a fork to create a pattern if desired. Brush with egg yolk mixture if using.
13 -
Bake in preheated oven for 20-25 minutes until the potato topping is golden brown and filling is bubbling.
14 -
Allow to cool for a few minutes before serving to let the filling set.