Heat oil in a large skillet, over medium-high heat. Add the carrots and onions and cook for 5 minutes. Add the garlic and sauté for 30 seconds. Add the ground beef and break it apart with a wooden spoon. Add the thyme, salt, and pepper. Stir well. Cook for 6-8 minutes, until the meat is browned, stirring occasionally. Add the tomato paste, red wine, and Worcestershire sauce, stir until well combined. Add the broth, frozen peas and corn. Bring the liquid to a boil then reduce to simmer. Simmer for 5 minutes, stirring occasionally. Set the meat mixture aside.
Preheat oven to 400F°.
Place the potatoes in a large pot. Cover the potatoes with water. Bring the water to a boil. Reduce to a simmer. Cook until potatoes are fork-tender, 10-15 minutes. Drain the potatoes in a colander. Return the potatoes to the hot pot. Let the potatoes rest in the hot pot for 1 minute to evaporate any remaining liquid.
Add butter, half and half, garlic, salt, and pepper. Mash the potatoes and stir until all the ingredients are mixed together. Add the egg yolks and parmesan cheese to the potatoes. Stir until well combined.
Spoon the meat mixture to the bottom of an oven proof baking dish and spread into an even layer. Layer the mashed potatoes on top of the meat. Rake the potatoes with the tines of a fork. Bake uncovered for 20-25 minutes, until bubbling and golden brown. Cool for 15 minutes before serving.