Preheat oven to 350 F.
Preheat oven-safe heavy pot (I prefer my cast iron Dutch oven) on the stove top on medium heat (5-6).
Add oil, onion, thyme, and marjoram and stir to blend. Cook about 5 minutes or until onions are translucent.
Add lamb or beef to pan and cook for 5-10 minutes or until meat is browned, stirring frequently to brown all sides.
Add tomato paste and broth, vegetables, salt, and pepper to pan. Mix all together, breaking up tomato paste until smooth with a spoon or whisk.
Turn down heat to low-medium (about 3), cover and cook for 15 minutes.
Turn heat down to low. Sprinkle flour over the surface of the food in the pot and blend in thoroughly with a spoon or whisk. Cover and cook 15 more minutes (still on low heat - about 1).
Meanwhile, prepare potato topping by adding potatoes and water to a medium saucepan and bring to a boil over high heat. Once boiling, turn down heat to low-medium and cover, cooking for about 10 minutes.
Uncover meat and vegetable mixture in Dutch oven once 15 minutes has passed, stir, and turn off heat. Let sit while preparing potato topping.
Once potatoes are fork tender, drain off water. Add butter, salt, ¼ cup of the cheese, and milk or cream. Mash with a potato masher or blend with a hand blender until smooth.
Add mashed potato mixture a spoonful at a time to the top of meat and vegetables in Dutch oven and spread evenly over the top. (May not cover the entire surface, which is okay.) Scatter the remaining ½ cup of shredded cheese over the top.
Bake uncovered for 15 minutes or until cheese is melty and a bit browned. Let sit for 10 minutes before serving.