Set your oven to preheat at 375°F (190°C).
Peel the potatoes and cut them into uniform, thin slices to ensure even cooking throughout the dish.
Warm the butter or oil in a large skillet over medium heat. Sauté the chopped onion, minced garlic, and thyme until the onion turns soft and translucent and the mixture becomes aromatic.
Add the ground beef to the skillet and cook thoroughly, crumbling it into small pieces as it browns. Season the mixture with salt, black pepper, bouillon powder, paprika, and oregano.
Once the beef is browned, pour off any excess fat. Dust the mixture evenly with flour, stir to coat, and let it cook for about a minute to remove the raw flour taste.
Slowly pour in the beef broth followed by the milk, stirring constantly. Allow the mixture to simmer and thicken until it forms a smooth, gravy-like consistency.
Lightly grease a 9-by-13-inch baking dish using butter or non-stick spray. Layer half of the sliced potatoes on the bottom, followed by half of the meat and sauce mixture. Repeat the layering process with the remaining potatoes and beef mixture.
Cover the dish with foil and bake for 45 minutes or until the potatoes are fork-tender.
Remove the foil and scatter the shredded cheddar cheese across the surface. Return the dish to the oven and bake uncovered for an additional 10 to 15 minutes until the cheese is melted and bubbling.
Take the casserole out of the oven and allow it to rest for several minutes before garnishing with chopped parsley and serving.