Press tofu for 20 minutes before cooking. Preheat the oven to 425 degrees F.
In a large pot, heat oil over medium high heat. Add the onions, carrots, potatoes, and mushrooms. Saute for 5 minutes.
Add the pressed and diced tofu to the pot. Gently stir and then add in the water and optional apple (authentic Japanese curry usually has some grated apples in it to give it a sweeter flavor). Stir again until everything is combined. Bring to a boil, then cover and simmer for 15 minutes or until potatoes are soft.
Once potatoes are tender, turn heat down to low and add the Japanese curry roux. Gently stir until curry roux is dissolved. Simmer on low for 5-10 minutes, stirring occasionally, to thicken up.
Turn heat off and transfer curry to a 10 inch pie pan. Lay puff pastry over the top and trim off the extra over the edges. Score the top a few times and lightly brush the top with almond milk.
Bake for 20-25 minutes, or until golden brown. Let it cool for 5-10 minutes. Enjoy! You can serve it with some rice as well.