Add the oil to a large skillet and when hot, add the onion and saute until it becomes translucent (about 4-5 min). Season with salt and pepper. Keep the flame on low so the onion doesn’t brown.
Add the garlic and stir it around with the onion for about 1 minute.
Add your meat and once again season with salt and pepper. Cook through, breaking up with a fork as it cooks. Drain if necessary.
Sprinkle the flour all around and cook for 1 minute. Add the ketchup, beef broth and Worcestershire sauce. Bring it to a boil, reduce heat and simmer for 5 -10 minutes or until the gravy thickens a bit.
Pour the beef mixture into a 9×13 casserole dish and layer the vegetables on top of the meat mixture.
Sprinkle with the shredded cheese.
Top with the mashed potatoes, spreading evenly and covering all the meat and cheese.
Being that the meat is already cooked through, all that’s needed is to brown the potatoes. Carefully put your casserole dish under the broiler until the potatoes get a nice crust on top and turn golden brown. This could take up to 5-10 minutes.