Remove tofu from package, squeeze out as much liquid as you can, then wrap in cotton towel and place heavy weight on top of wrapped block, let sit for 2 hours on counter or overnight in fridge.
Cut tofu into1/2" pieces or crumble to resemble ground meat. Set aside.
Heat oil in large, deep skillet.
Saute onion until soft and clear, about 2 minutes. Add garlic and saute 1 minute more.
Add celery, carrots, mushrooms and tofu to pot and cook until soft, 7-10 minutes.
Add oregano and thyme and cook until fragrant, 1-2 minutes.
Stir in tomato paste and flour. Mix well and cook 1 minute.
Add wine to deglaze the pan. Scrape the bottom to release any browned bits.
Gradually stir in broth and soy sauce and cook until smooth, thick sauce forms.
Add corn, peas, salt, pepper and cayenne pepper. Cook until heated through. Taste and adjust seasoning to your liking.
Preheat oven to 375°F (190°C).
Grease a 9x13" (23x33cm) pan. Pour filling into pan.
Top with mashed potatoes. The more rough the top, the more browned peaks you'll get.
Bake for 20-30 minutes until potatoes are lightly golden and sauce bubbles up. For crispier potatoes, place under broiler for 2-3 minutes.
Garnish with a sprinkle of paprika and chopped parsley.
Notes
If you don't have leftover mashed potatoes, here's how I make Vegan Mashed Potatoes - Peel(optional), dice and boil 5-7 potatoes until tender. Drain well then drizzle with canola oil to coat most of the potatoes. Start mashing. Add 1/4 cup to 1/2 cup oat milk (or your preferred non-flavored dairy alternative). Keep mashing and add some nutmeg, salt and garlic powder to make delicious mashed potatoes.