Preheat the oven to 425 degrees F. Butter a 9-by-13-inch casserole dish.
Heat the olive oil and 2 tablespoons of the butter in a small saucepan over medium heat until the butter has melted.
Shred the potatoes and add to a medium bowl. Pour the butter-oil mixture over the potatoes, add 1/2 teaspoon salt and 1/2 teaspoon pepper, and stir to combine. Set aside.
In a large saute pan over medium heat, melt the remaining 4 tablespoons butter. Add the spring onions and garlic; stir, and cook until the onions are soft and translucent, 3 to 5 minutes. Add the ground beef and cook, stirring occasionally, until browned. Stir in 1/2 teaspoon salt, 1/2 teaspoon pepper and the chili powder.
Add the tomatoes, beef broth and flour. Increase the heat to medium-high and bring the mixture to a boil, stirring occasionally. Reduce the heat and simmer until thickened, 6 to 8 minutes. Reduce the heat further and stir in the peas and Cheddar; cook until the cheese is melted. Transfer to the prepared casserole dish.
Evenly cover the top of the casserole with the grated potato mixture and sprinkle with the Parmesan. Bake, uncovered, until crisp on top and bubbling, about 20 minutes. Let rest for 5 minutes before serving.