Wash and dry all produce. Dice potatoes into 1/2-inch pieces. Trim, peel and halve carrots lengthwise then slice crosswise into 1/4-inch thick half-moons. Finely dice celery. Halve, peel, and finely chop onion (if using). Strip thyme leaves (if using) from stems and roughly chop leaves.
Place potatoes in a medium pot with enough salted water to cover by 2 inches. Bring to a boil and cook for 20 minutes or until tender. Drain, reserving some of the water, and return potatoes to pot.
Mash potatoes with sour cream and 2 Tbsp butter until smooth and creamy, adding splashes of the reserved water as needed. Season with salt and pepper, to taste.
While potatoes cook, heat a drizzle of oil in a medium, preferably ovenproof pan over medium-high heat. Add carrots, season with salt and pepper. Cook, stirring until slightly softened, 2-3 minutes.
Add celery, onion and a large drizzle of oil. Season with salt and pepper. Cook, stirring until veggies are just tender, 5-7 minutes.
Stir in garlic powder and thyme. Cook until fragrant, 30 seconds.
Heat broiler to high (if using middle rack) or low if using an upper rack position.
Add beef to pan with veggies and season with salt and pepper. Cook, breaking up meat into pieces, until browned and cooked through, 4-6 minutes.
Add tomato paste and flour. Cook, stirring, until thoroughly combined, 1 minute.
Gradually pour 1/2 c water into pan with beef mixture.
Stir in stock concentrate and bring to a boil. Cook until mixture is very thick, 1-2 minutes. Turn off heat.
Taste and season with salt and pepper. NOTE: If your pan isn't ovenproof, transfer mixture now to a baking dish.
Top beef filling with an even layer of mashed potatoes, leaving a gap around edge of pan. Evenly sprinkle with cheddar.
Broil until browned, 3-4 minutes. Watch carefully to avoid burning.