Preheat your oven to 375°F and lightly grease a 9x13-inch baking dish.
In a large skillet over medium heat, melt the butter. Add the onion and cook until softened, about 5 minutes. Toss in the garlic and cook for another minute until fragrant.
Sprinkle the flour over the onion mixture and stir well to coat. Cook for 1-2 minutes to get rid of the raw flour taste.
Gradually pour in the broth and milk, whisking constantly to avoid lumps. Bring to a simmer and cook until the sauce thickens, about 3-4 minutes.
Stir in the turkey, frozen vegetables, thyme, salt, and pepper. Let everything warm through for about 3 minutes, then remove from heat.
Pour the turkey mixture into your prepared baking dish and spread it evenly.
Spread the mashed potatoes over the top, creating peaks and swirls with a spoon or spatula (those crispy bits are the best!). If using cheese, sprinkle it over the potatoes.
Bake for 25-30 minutes until the top is golden and the filling is bubbling around the edges. Let it rest for 5 minutes before serving.