In a skillet cook the ground beef with onion, bell pepper and chili flakes (if using) until no longer pink; drain fat over a colander.
Return to pan and add in garlic, season salt and black pepper; cook stirring with a wooden spoon until the meat is lightly browned (I usually add in about 1-2 tablespoons bacon fat that I keep frozen in my freezer to the meat while browning for added flavor and it also helps to brown the meat) set aside.
For the sauce; in a medium bowl mix together the undiluted soup with onion, milk, sour cream, Parmesan cheese, garlic powder, seasoned salt and black pepper to taste; mix well to combine.
In a greased 13 x 9-inch baking dish or a large oval casserole dish, alternately layer the sliced potatoes on bottom of the baking dish, then soup mixture (I like to sprinkle grated cheddar cheese on top of the soup mixture) then the ground beef mixture on top.
Since this is a large casserole I strongly suggest to place the baking dish on a jelly-roll sheet in case of any spills.
Bake covered with foil for about 1 hour at 350 degrees F.
Uncover and continue baking for another 20-30 minutes or until the potatoes are tender (baking time will vary depending on the thickness of your sliced potatoes).
Remove from oven then sprinkle with grated cheddar cheese; return to oven for 4-5 minutes or until the cheese has melted.