Place the potatoes and 1 teaspoon salt in a pot and cover with cold water. Bring to a boil, then lower the heat to medium and cook until the potatoes are fork tender, 20 to 25 minutes. Drain the potatoes, then return to the pot.
Add the milk, butter, garlic powder, remaining salt and pepper and use a potato masher to mash.
In a large skillet over medium heat, heat the olive oil and cook the onions until soft and translucent, about 10 minutes. Add the beef and mushrooms and cook, breaking down any large chunks until the beef is browned, 8-10 minutes. Season with 7 Spice and salt.
Preheat the oven to 350°F. Spray a 9 x 13 baking dish with olive oil cooking spray.
Spread half of the mashed potatoes onto the base of the prepared dish. Add the beef filling in an even layer on top. Then add the remaining mashed potatoes on top, being careful not to not to get the beef filling into the mashed potatoes in order to create even layers.
Sprinkle the breadcrumbs on top of the mashed potato layer and spray evenly with the cooking spray. Bake uncovered until the potatoes are set and the breadcrumbs are golden brown for about, 30-35 minutes.
Allow it to cool for 10 minutes to let the layers set, and then cut into 12 squares and serve.