In a skillet heated over medium heat, add in your meat and onions. Continue to stir and cook until your meat is browned, and your onions are caramelized. Remove any excess moisture.
Add to your meat and onions your garlic, vegetables, flour, beef broth, half of the can of tomato soup, Worcestershire sauce, rosemary, thyme, and your bay leaf.
Mix well until everything is incorporated. With a lid on your skillet allow this to simmer for about 10 minutes. If you find that your sauce is a little drier than you would prefer, add in the remaining amount of tomato soup.
Preheat your oven to 400°.
Once you 10 minutes are done, add this meat mixture to an 8x8 inch pan. Allow your meat to sit in this pan for about five minutes and cool slightly. This will help the mashed potatoes to go on smoother.
Add your mashed potatoes to the top and smooth out making sure that everything is evenly distributed.
Bake in the oven for about 30 minutes, or until your potatoes start to brown. If you like your potatoes to have a nice browning on the top, you can leave them under the broiler for about 5-10 minutes until it reaches your desired color.
Remove from the oven, and sprinkle with cheese and more rosemary.