In a large pot, bring about a gallon of water and 2 tablespoons salt to a boil over high heat. Add the potatoes and bring to the boil. Cook 15-20 minutes or until soft when pierced with a fork.
Drain well and return to the pot. Using a masher, mash hot potatoes until smooth. Add in half & half and roasted garlic (remove the roasted garlic cloves from their skins, mash them with the back of you knife before incorporating to the mashed potatoes). Season to taste with salt and pepper.
As the potatoes cook, heat the oil in a large skillet over medium heat. When the oil is hot, add the onions and celery, and sauté for 3 minutes or until the celery is just tender and the onions are translucent. Add the garlic and curry powder and cook further until fragrant, about 40 seconds.
Increase heat to high. Add the ground beef. Break up the lumps and cook until the meat is no longer pink. Drain excess grease.
Reduce heat to medium-high. Sprinkle in the flour and toss to coat. Add the tomato paste, pepper, thyme, paprika, Worcestershire sauce and salt. Cook for 1-2 minutes.
Add the chicken or beef stock and cook, stirring, until the liquid has thickened slightly. Scrape up any bits, using a silicone spatula.
Stir in the vegetables until heated through. Taste and adjust seasonings if needed. Remove from the heat.
Transfer to a lightly greased 9 x 13-inch casserole dish. Top the meat mixture with mashed potatoes and carefully spread them out over the top.
Use a fork to "rake" lines into the mashed potatoes.
Broil the pie at 550F degrees until the potatoes have begun to brown , about 5 minutes. Watch the pie as it will go from brown to burned quickly. Remove from the oven. Let stand at room temperature for 10-15 minutes before serving.
Garnish with fresh thyme.
Serve and enjoy!