Break the tofu apart into chunks. For optimal texture, freeze, thaw, and squeeze out the excess water. This step is optional.
Mix the marinade ingredients, add the tofu chunks and stir until thoroughly coated. Allow to marinade in the fridge for at least 2 hours or overnight.
Preheat the oven to 392 degrees F (200 C).
Spread the tofu chunks on a baking tray and cook for 20 minutes.
To a pot on medium heat, add the butter and onions. Cook for 5 minutes.
Add the garlic and ginger and cook for 2 minutes.
Add the spices. Cook for 1 minute, stirring continuously.
Add the tomato paste and cook for 1 minute, until the paste gets a darker colour.
Add diced tomatoes, soy milk, and maple syrup. Cook covered for 5 minutes before adding the sauce to a blender with the cashews. Blend until perfectly smooth.
Transfer the tofu and the sauce to the pot. Cook on low heat for 5 minutes, add the lemon juice and adjust salt and pepper to taste.
Serve with rice and fresh coriander. Enjoy!