Cook potatoes: Boil cubed potatoes in salted water for 15-20 minutes until tender. Drain, return to pot, and mash with butter, warm cream, and ½ cup cheese. Season with salt and pepper. Set aside.
Brown beef: Heat olive oil in large skillet over medium-high heat. Add ground beef and cook 8-10 minutes, breaking apart, until browned. Drain excess fat, leaving 2 tablespoons. Season with salt and pepper.
Cook vegetables: Add onion and carrots to beef. Cook 5-6 minutes until softening. Add garlic and cook 1 minute. Stir in tomato paste and cook 2 minutes.
Make gravy: Sprinkle flour over mixture and stir to coat. Cook 1-2 minutes. Add beef broth, Worcestershire sauce, thyme, rosemary, and bay leaf. Simmer 10-12 minutes until thickened.
Add vegetables: Stir in peas and corn. Cook 2-3 minutes. Remove bay leaf. Adjust seasoning.
Assemble: Preheat oven to 400°F. Transfer meat filling to 9x13 inch baking dish. Spread mashed potatoes evenly over top. Create texture with fork.
Add cheese and bake: Sprinkle 1 cup cheddar over potatoes. Bake 25-30 minutes until golden and bubbling. Broil 2-3 minutes for extra browning if desired.
Rest and serve: Let rest 10 minutes. Garnish with parsley and serve hot.