Boil the sweet potatoes: Boil the 3 sweet potatoes in salted water for about 10 minutes, or until tender. Turn off the heat and let them sit in the water while you prepare the filling.
Brown the beef: In a skillet, cook the 2 lbs ground beef over medium heat until browned and cooked through. Drain using a colander set over a bowl to catch the drippings, then set the meat aside.
Sauté the vegetables: In the same skillet, melt 2 tbsp butter. Add the diced onion, carrots, and celery. Cook for about 8-10 minutes, until lightly browned and caramelized.
Bloom the aromatics: Push the vegetables to one side of the pan. Add the remaining 1 tbsp butter to the cleared space, then add the minced garlic, 2 tbsp sage, and 1 tbsp thyme. Cook for about a minute, until fragrant.
Add the tomato paste: Stir in 3 tbsp tomato paste and cook briefly, about 30 seconds.
Combine the beef and seasonings: Return the browned beef to the skillet and add 2 tbsp Worcestershire sauce, ¾ tsp salt, and ½ tsp pepper. Stir to combine.
Thicken the filling: Sprinkle in 2 tbsp flour and mix thoroughly, cooking for about a minute. Pour in 1 cup beef broth and cook for a few more minutes, until the mixture thickens slightly. Add a splash more of broth if it looks too dry.
Finish the filling: Stir in 1 tsp apple cider vinegar and ½ cup frozen peas. Mix well, then remove from heat and press the mixture down flat in the skillet.
Drain the sweet potatoes: Set the same colander from the beef into the pot with the sweet potatoes, gripping it tightly so the potatoes don't slip out. Carefully pour off the hot water, keeping the sweet potatoes in the pot.
Mash the sweet potatoes: Return the pot to the stove over low heat. Add 2 tbsp butter, ¼ tsp salt, ¼ tsp pepper, ¼ tsp cinnamon, and ¼ tsp nutmeg. Mash with a potato masher until mostly smooth, with minimal chunks remaining. Taste and adjust for salt.
Assemble: Spoon the mashed sweet potatoes over the beef mixture, smoothing it out to cover the surface completely. Use a fork to create texture on top by drawing curvy lines.
Bake: Bake in a preheated 400°F oven for 20 minutes. Finish with a quick broil at the end for a golden top.